PagerTabStrip.smali 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965
  1. .class public Landroid/support/v4/view/PagerTabStrip;
  2. .super Landroid/support/v4/view/PagerTitleStrip;
  3. .source "PagerTabStrip.java"
  4. # static fields
  5. .field private static final FULL_UNDERLINE_HEIGHT:I = 0x1
  6. .field private static final INDICATOR_HEIGHT:I = 0x3
  7. .field private static final MIN_PADDING_BOTTOM:I = 0x6
  8. .field private static final MIN_STRIP_HEIGHT:I = 0x20
  9. .field private static final MIN_TEXT_SPACING:I = 0x40
  10. .field private static final TAB_PADDING:I = 0x10
  11. .field private static final TAB_SPACING:I = 0x20
  12. .field private static final TAG:Ljava/lang/String; = "PagerTabStrip"
  13. # instance fields
  14. .field private mDrawFullUnderline:Z
  15. .field private mDrawFullUnderlineSet:Z
  16. .field private mFullUnderlineHeight:I
  17. .field private mIgnoreTap:Z
  18. .field private mIndicatorColor:I
  19. .field private mIndicatorHeight:I
  20. .field private mInitialMotionX:F
  21. .field private mInitialMotionY:F
  22. .field private mMinPaddingBottom:I
  23. .field private mMinStripHeight:I
  24. .field private mMinTextSpacing:I
  25. .field private mTabAlpha:I
  26. .field private mTabPadding:I
  27. .field private final mTabPaint:Landroid/graphics/Paint;
  28. .field private final mTempRect:Landroid/graphics/Rect;
  29. .field private mTouchSlop:I
  30. # direct methods
  31. .method public constructor <init>(Landroid/content/Context;)V
  32. .locals 1
  33. .param p1, "context" # Landroid/content/Context;
  34. .prologue
  35. .line 79
  36. const/4 v0, 0x0
  37. invoke-direct {p0, p1, v0}, Landroid/support/v4/view/PagerTabStrip;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  38. .line 80
  39. return-void
  40. .end method
  41. .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  42. .locals 7
  43. .param p1, "context" # Landroid/content/Context;
  44. .param p2, "attrs" # Landroid/util/AttributeSet;
  45. .prologue
  46. const/4 v6, 0x1
  47. const/4 v5, 0x0
  48. const/high16 v3, 0x3f000000 # 0.5f
  49. .line 83
  50. invoke-direct {p0, p1, p2}, Landroid/support/v4/view/PagerTitleStrip;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  51. .line 64
  52. new-instance v1, Landroid/graphics/Paint;
  53. invoke-direct {v1}, Landroid/graphics/Paint;-><init>()V
  54. iput-object v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPaint:Landroid/graphics/Paint;
  55. .line 65
  56. new-instance v1, Landroid/graphics/Rect;
  57. invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
  58. iput-object v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTempRect:Landroid/graphics/Rect;
  59. .line 67
  60. const/16 v1, 0xff
  61. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTabAlpha:I
  62. .line 69
  63. iput-boolean v5, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderline:Z
  64. .line 70
  65. iput-boolean v5, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderlineSet:Z
  66. .line 85
  67. iget v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTextColor:I
  68. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorColor:I
  69. .line 86
  70. iget-object v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPaint:Landroid/graphics/Paint;
  71. iget v2, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorColor:I
  72. invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setColor(I)V
  73. .line 90
  74. invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  75. move-result-object v1
  76. invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
  77. move-result-object v1
  78. iget v0, v1, Landroid/util/DisplayMetrics;->density:F
  79. .line 91
  80. .local v0, "density":F
  81. const/high16 v1, 0x40400000 # 3.0f
  82. mul-float/2addr v1, v0
  83. add-float/2addr v1, v3
  84. float-to-int v1, v1
  85. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorHeight:I
  86. .line 92
  87. const/high16 v1, 0x40c00000 # 6.0f
  88. mul-float/2addr v1, v0
  89. add-float/2addr v1, v3
  90. float-to-int v1, v1
  91. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mMinPaddingBottom:I
  92. .line 93
  93. const/high16 v1, 0x42800000 # 64.0f
  94. mul-float/2addr v1, v0
  95. float-to-int v1, v1
  96. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mMinTextSpacing:I
  97. .line 94
  98. const/high16 v1, 0x41800000 # 16.0f
  99. mul-float/2addr v1, v0
  100. add-float/2addr v1, v3
  101. float-to-int v1, v1
  102. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  103. .line 95
  104. const/high16 v1, 0x3f800000 # 1.0f
  105. mul-float/2addr v1, v0
  106. add-float/2addr v1, v3
  107. float-to-int v1, v1
  108. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mFullUnderlineHeight:I
  109. .line 96
  110. const/high16 v1, 0x42000000 # 32.0f
  111. mul-float/2addr v1, v0
  112. add-float/2addr v1, v3
  113. float-to-int v1, v1
  114. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mMinStripHeight:I
  115. .line 97
  116. invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
  117. move-result-object v1
  118. invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
  119. move-result v1
  120. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTouchSlop:I
  121. .line 100
  122. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getPaddingLeft()I
  123. move-result v1
  124. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getPaddingTop()I
  125. move-result v2
  126. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getPaddingRight()I
  127. move-result v3
  128. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getPaddingBottom()I
  129. move-result v4
  130. invoke-virtual {p0, v1, v2, v3, v4}, Landroid/support/v4/view/PagerTabStrip;->setPadding(IIII)V
  131. .line 101
  132. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getTextSpacing()I
  133. move-result v1
  134. invoke-virtual {p0, v1}, Landroid/support/v4/view/PagerTabStrip;->setTextSpacing(I)V
  135. .line 103
  136. invoke-virtual {p0, v5}, Landroid/support/v4/view/PagerTabStrip;->setWillNotDraw(Z)V
  137. .line 105
  138. iget-object v1, p0, Landroid/support/v4/view/PagerTabStrip;->mPrevText:Landroid/widget/TextView;
  139. invoke-virtual {v1, v6}, Landroid/widget/TextView;->setFocusable(Z)V
  140. .line 106
  141. iget-object v1, p0, Landroid/support/v4/view/PagerTabStrip;->mPrevText:Landroid/widget/TextView;
  142. new-instance v2, Landroid/support/v4/view/PagerTabStrip$1;
  143. invoke-direct {v2, p0}, Landroid/support/v4/view/PagerTabStrip$1;-><init>(Landroid/support/v4/view/PagerTabStrip;)V
  144. invoke-virtual {v1, v2}, Landroid/widget/TextView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
  145. .line 113
  146. iget-object v1, p0, Landroid/support/v4/view/PagerTabStrip;->mNextText:Landroid/widget/TextView;
  147. invoke-virtual {v1, v6}, Landroid/widget/TextView;->setFocusable(Z)V
  148. .line 114
  149. iget-object v1, p0, Landroid/support/v4/view/PagerTabStrip;->mNextText:Landroid/widget/TextView;
  150. new-instance v2, Landroid/support/v4/view/PagerTabStrip$2;
  151. invoke-direct {v2, p0}, Landroid/support/v4/view/PagerTabStrip$2;-><init>(Landroid/support/v4/view/PagerTabStrip;)V
  152. invoke-virtual {v1, v2}, Landroid/widget/TextView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
  153. .line 121
  154. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getBackground()Landroid/graphics/drawable/Drawable;
  155. move-result-object v1
  156. if-nez v1, :cond_0
  157. .line 122
  158. iput-boolean v6, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderline:Z
  159. .line 124
  160. :cond_0
  161. return-void
  162. .end method
  163. # virtual methods
  164. .method public getDrawFullUnderline()Z
  165. .locals 1
  166. .prologue
  167. .line 214
  168. iget-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderline:Z
  169. return v0
  170. .end method
  171. .method getMinHeight()I
  172. .locals 2
  173. .prologue
  174. .line 219
  175. invoke-super {p0}, Landroid/support/v4/view/PagerTitleStrip;->getMinHeight()I
  176. move-result v0
  177. iget v1, p0, Landroid/support/v4/view/PagerTabStrip;->mMinStripHeight:I
  178. invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
  179. move-result v0
  180. return v0
  181. .end method
  182. .method public getTabIndicatorColor()I
  183. .locals 1
  184. .annotation build Landroid/support/annotation/ColorInt;
  185. .end annotation
  186. .prologue
  187. .line 151
  188. iget v0, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorColor:I
  189. return v0
  190. .end method
  191. .method protected onDraw(Landroid/graphics/Canvas;)V
  192. .locals 12
  193. .param p1, "canvas" # Landroid/graphics/Canvas;
  194. .prologue
  195. const v11, 0xffffff
  196. .line 261
  197. invoke-super {p0, p1}, Landroid/support/v4/view/PagerTitleStrip;->onDraw(Landroid/graphics/Canvas;)V
  198. .line 263
  199. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getHeight()I
  200. move-result v7
  201. .line 264
  202. .local v7, "height":I
  203. move v6, v7
  204. .line 265
  205. .local v6, "bottom":I
  206. iget-object v0, p0, Landroid/support/v4/view/PagerTabStrip;->mCurrText:Landroid/widget/TextView;
  207. invoke-virtual {v0}, Landroid/widget/TextView;->getLeft()I
  208. move-result v0
  209. iget v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  210. sub-int v8, v0, v1
  211. .line 266
  212. .local v8, "left":I
  213. iget-object v0, p0, Landroid/support/v4/view/PagerTabStrip;->mCurrText:Landroid/widget/TextView;
  214. invoke-virtual {v0}, Landroid/widget/TextView;->getRight()I
  215. move-result v0
  216. iget v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  217. add-int v9, v0, v1
  218. .line 267
  219. .local v9, "right":I
  220. iget v0, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorHeight:I
  221. sub-int v10, v6, v0
  222. .line 269
  223. .local v10, "top":I
  224. iget-object v0, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPaint:Landroid/graphics/Paint;
  225. iget v1, p0, Landroid/support/v4/view/PagerTabStrip;->mTabAlpha:I
  226. shl-int/lit8 v1, v1, 0x18
  227. iget v2, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorColor:I
  228. and-int/2addr v2, v11
  229. or-int/2addr v1, v2
  230. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
  231. .line 270
  232. int-to-float v1, v8
  233. int-to-float v2, v10
  234. int-to-float v3, v9
  235. int-to-float v4, v6
  236. iget-object v5, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPaint:Landroid/graphics/Paint;
  237. move-object v0, p1
  238. invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
  239. .line 272
  240. iget-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderline:Z
  241. if-eqz v0, :cond_0
  242. .line 273
  243. iget-object v0, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPaint:Landroid/graphics/Paint;
  244. const/high16 v1, -0x1000000
  245. iget v2, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorColor:I
  246. and-int/2addr v2, v11
  247. or-int/2addr v1, v2
  248. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
  249. .line 274
  250. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getPaddingLeft()I
  251. move-result v0
  252. int-to-float v1, v0
  253. iget v0, p0, Landroid/support/v4/view/PagerTabStrip;->mFullUnderlineHeight:I
  254. sub-int v0, v7, v0
  255. int-to-float v2, v0
  256. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getWidth()I
  257. move-result v0
  258. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getPaddingRight()I
  259. move-result v3
  260. sub-int/2addr v0, v3
  261. int-to-float v3, v0
  262. int-to-float v4, v7
  263. iget-object v5, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPaint:Landroid/graphics/Paint;
  264. move-object v0, p1
  265. invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
  266. .line 277
  267. :cond_0
  268. return-void
  269. .end method
  270. .method public onTouchEvent(Landroid/view/MotionEvent;)Z
  271. .locals 6
  272. .param p1, "ev" # Landroid/view/MotionEvent;
  273. .prologue
  274. const/4 v4, 0x1
  275. const/4 v3, 0x0
  276. .line 224
  277. invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
  278. move-result v0
  279. .line 225
  280. .local v0, "action":I
  281. if-eqz v0, :cond_0
  282. iget-boolean v5, p0, Landroid/support/v4/view/PagerTabStrip;->mIgnoreTap:Z
  283. if-eqz v5, :cond_0
  284. .line 256
  285. :goto_0
  286. return v3
  287. .line 231
  288. :cond_0
  289. invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
  290. move-result v1
  291. .line 232
  292. .local v1, "x":F
  293. invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
  294. move-result v2
  295. .line 233
  296. .local v2, "y":F
  297. packed-switch v0, :pswitch_data_0
  298. :cond_1
  299. :goto_1
  300. move v3, v4
  301. .line 256
  302. goto :goto_0
  303. .line 235
  304. :pswitch_0
  305. iput v1, p0, Landroid/support/v4/view/PagerTabStrip;->mInitialMotionX:F
  306. .line 236
  307. iput v2, p0, Landroid/support/v4/view/PagerTabStrip;->mInitialMotionY:F
  308. .line 237
  309. iput-boolean v3, p0, Landroid/support/v4/view/PagerTabStrip;->mIgnoreTap:Z
  310. goto :goto_1
  311. .line 241
  312. :pswitch_1
  313. iget v3, p0, Landroid/support/v4/view/PagerTabStrip;->mInitialMotionX:F
  314. sub-float v3, v1, v3
  315. invoke-static {v3}, Ljava/lang/Math;->abs(F)F
  316. move-result v3
  317. iget v5, p0, Landroid/support/v4/view/PagerTabStrip;->mTouchSlop:I
  318. int-to-float v5, v5
  319. cmpl-float v3, v3, v5
  320. if-gtz v3, :cond_2
  321. iget v3, p0, Landroid/support/v4/view/PagerTabStrip;->mInitialMotionY:F
  322. sub-float v3, v2, v3
  323. invoke-static {v3}, Ljava/lang/Math;->abs(F)F
  324. move-result v3
  325. iget v5, p0, Landroid/support/v4/view/PagerTabStrip;->mTouchSlop:I
  326. int-to-float v5, v5
  327. cmpl-float v3, v3, v5
  328. if-lez v3, :cond_1
  329. .line 243
  330. :cond_2
  331. iput-boolean v4, p0, Landroid/support/v4/view/PagerTabStrip;->mIgnoreTap:Z
  332. goto :goto_1
  333. .line 248
  334. :pswitch_2
  335. iget-object v3, p0, Landroid/support/v4/view/PagerTabStrip;->mCurrText:Landroid/widget/TextView;
  336. invoke-virtual {v3}, Landroid/widget/TextView;->getLeft()I
  337. move-result v3
  338. iget v5, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  339. sub-int/2addr v3, v5
  340. int-to-float v3, v3
  341. cmpg-float v3, v1, v3
  342. if-gez v3, :cond_3
  343. .line 249
  344. iget-object v3, p0, Landroid/support/v4/view/PagerTabStrip;->mPager:Landroid/support/v4/view/ViewPager;
  345. iget-object v5, p0, Landroid/support/v4/view/PagerTabStrip;->mPager:Landroid/support/v4/view/ViewPager;
  346. invoke-virtual {v5}, Landroid/support/v4/view/ViewPager;->getCurrentItem()I
  347. move-result v5
  348. add-int/lit8 v5, v5, -0x1
  349. invoke-virtual {v3, v5}, Landroid/support/v4/view/ViewPager;->setCurrentItem(I)V
  350. goto :goto_1
  351. .line 250
  352. :cond_3
  353. iget-object v3, p0, Landroid/support/v4/view/PagerTabStrip;->mCurrText:Landroid/widget/TextView;
  354. invoke-virtual {v3}, Landroid/widget/TextView;->getRight()I
  355. move-result v3
  356. iget v5, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  357. add-int/2addr v3, v5
  358. int-to-float v3, v3
  359. cmpl-float v3, v1, v3
  360. if-lez v3, :cond_1
  361. .line 251
  362. iget-object v3, p0, Landroid/support/v4/view/PagerTabStrip;->mPager:Landroid/support/v4/view/ViewPager;
  363. iget-object v5, p0, Landroid/support/v4/view/PagerTabStrip;->mPager:Landroid/support/v4/view/ViewPager;
  364. invoke-virtual {v5}, Landroid/support/v4/view/ViewPager;->getCurrentItem()I
  365. move-result v5
  366. add-int/lit8 v5, v5, 0x1
  367. invoke-virtual {v3, v5}, Landroid/support/v4/view/ViewPager;->setCurrentItem(I)V
  368. goto :goto_1
  369. .line 233
  370. :pswitch_data_0
  371. .packed-switch 0x0
  372. :pswitch_0
  373. :pswitch_2
  374. :pswitch_1
  375. .end packed-switch
  376. .end method
  377. .method public setBackgroundColor(I)V
  378. .locals 1
  379. .param p1, "color" # I
  380. .annotation build Landroid/support/annotation/ColorInt;
  381. .end annotation
  382. .end param
  383. .prologue
  384. .line 180
  385. invoke-super {p0, p1}, Landroid/support/v4/view/PagerTitleStrip;->setBackgroundColor(I)V
  386. .line 181
  387. iget-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderlineSet:Z
  388. if-nez v0, :cond_0
  389. .line 182
  390. const/high16 v0, -0x1000000
  391. and-int/2addr v0, p1
  392. if-nez v0, :cond_1
  393. const/4 v0, 0x1
  394. :goto_0
  395. iput-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderline:Z
  396. .line 184
  397. :cond_0
  398. return-void
  399. .line 182
  400. :cond_1
  401. const/4 v0, 0x0
  402. goto :goto_0
  403. .end method
  404. .method public setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
  405. .locals 1
  406. .param p1, "d" # Landroid/graphics/drawable/Drawable;
  407. .prologue
  408. .line 172
  409. invoke-super {p0, p1}, Landroid/support/v4/view/PagerTitleStrip;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
  410. .line 173
  411. iget-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderlineSet:Z
  412. if-nez v0, :cond_0
  413. .line 174
  414. if-nez p1, :cond_1
  415. const/4 v0, 0x1
  416. :goto_0
  417. iput-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderline:Z
  418. .line 176
  419. :cond_0
  420. return-void
  421. .line 174
  422. :cond_1
  423. const/4 v0, 0x0
  424. goto :goto_0
  425. .end method
  426. .method public setBackgroundResource(I)V
  427. .locals 1
  428. .param p1, "resId" # I
  429. .annotation build Landroid/support/annotation/DrawableRes;
  430. .end annotation
  431. .end param
  432. .prologue
  433. .line 188
  434. invoke-super {p0, p1}, Landroid/support/v4/view/PagerTitleStrip;->setBackgroundResource(I)V
  435. .line 189
  436. iget-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderlineSet:Z
  437. if-nez v0, :cond_0
  438. .line 190
  439. if-nez p1, :cond_1
  440. const/4 v0, 0x1
  441. :goto_0
  442. iput-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderline:Z
  443. .line 192
  444. :cond_0
  445. return-void
  446. .line 190
  447. :cond_1
  448. const/4 v0, 0x0
  449. goto :goto_0
  450. .end method
  451. .method public setDrawFullUnderline(Z)V
  452. .locals 1
  453. .param p1, "drawFull" # Z
  454. .prologue
  455. .line 201
  456. iput-boolean p1, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderline:Z
  457. .line 202
  458. const/4 v0, 0x1
  459. iput-boolean v0, p0, Landroid/support/v4/view/PagerTabStrip;->mDrawFullUnderlineSet:Z
  460. .line 203
  461. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->invalidate()V
  462. .line 204
  463. return-void
  464. .end method
  465. .method public setPadding(IIII)V
  466. .locals 1
  467. .param p1, "left" # I
  468. .param p2, "top" # I
  469. .param p3, "right" # I
  470. .param p4, "bottom" # I
  471. .prologue
  472. .line 156
  473. iget v0, p0, Landroid/support/v4/view/PagerTabStrip;->mMinPaddingBottom:I
  474. if-ge p4, v0, :cond_0
  475. .line 157
  476. iget p4, p0, Landroid/support/v4/view/PagerTabStrip;->mMinPaddingBottom:I
  477. .line 159
  478. :cond_0
  479. invoke-super {p0, p1, p2, p3, p4}, Landroid/support/v4/view/PagerTitleStrip;->setPadding(IIII)V
  480. .line 160
  481. return-void
  482. .end method
  483. .method public setTabIndicatorColor(I)V
  484. .locals 2
  485. .param p1, "color" # I
  486. .annotation build Landroid/support/annotation/ColorInt;
  487. .end annotation
  488. .end param
  489. .prologue
  490. .line 132
  491. iput p1, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorColor:I
  492. .line 133
  493. iget-object v0, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPaint:Landroid/graphics/Paint;
  494. iget v1, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorColor:I
  495. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
  496. .line 134
  497. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->invalidate()V
  498. .line 135
  499. return-void
  500. .end method
  501. .method public setTabIndicatorColorResource(I)V
  502. .locals 1
  503. .param p1, "resId" # I
  504. .annotation build Landroid/support/annotation/ColorRes;
  505. .end annotation
  506. .end param
  507. .prologue
  508. .line 143
  509. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getContext()Landroid/content/Context;
  510. move-result-object v0
  511. invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  512. move-result-object v0
  513. invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getColor(I)I
  514. move-result v0
  515. invoke-virtual {p0, v0}, Landroid/support/v4/view/PagerTabStrip;->setTabIndicatorColor(I)V
  516. .line 144
  517. return-void
  518. .end method
  519. .method public setTextSpacing(I)V
  520. .locals 1
  521. .param p1, "textSpacing" # I
  522. .prologue
  523. .line 164
  524. iget v0, p0, Landroid/support/v4/view/PagerTabStrip;->mMinTextSpacing:I
  525. if-ge p1, v0, :cond_0
  526. .line 165
  527. iget p1, p0, Landroid/support/v4/view/PagerTabStrip;->mMinTextSpacing:I
  528. .line 167
  529. :cond_0
  530. invoke-super {p0, p1}, Landroid/support/v4/view/PagerTitleStrip;->setTextSpacing(I)V
  531. .line 168
  532. return-void
  533. .end method
  534. .method updateTextPositions(IFZ)V
  535. .locals 7
  536. .param p1, "position" # I
  537. .param p2, "positionOffset" # F
  538. .param p3, "force" # Z
  539. .prologue
  540. .line 281
  541. iget-object v2, p0, Landroid/support/v4/view/PagerTabStrip;->mTempRect:Landroid/graphics/Rect;
  542. .line 282
  543. .local v2, "r":Landroid/graphics/Rect;
  544. invoke-virtual {p0}, Landroid/support/v4/view/PagerTabStrip;->getHeight()I
  545. move-result v0
  546. .line 283
  547. .local v0, "bottom":I
  548. iget-object v5, p0, Landroid/support/v4/view/PagerTabStrip;->mCurrText:Landroid/widget/TextView;
  549. invoke-virtual {v5}, Landroid/widget/TextView;->getLeft()I
  550. move-result v5
  551. iget v6, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  552. sub-int v1, v5, v6
  553. .line 284
  554. .local v1, "left":I
  555. iget-object v5, p0, Landroid/support/v4/view/PagerTabStrip;->mCurrText:Landroid/widget/TextView;
  556. invoke-virtual {v5}, Landroid/widget/TextView;->getRight()I
  557. move-result v5
  558. iget v6, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  559. add-int v3, v5, v6
  560. .line 285
  561. .local v3, "right":I
  562. iget v5, p0, Landroid/support/v4/view/PagerTabStrip;->mIndicatorHeight:I
  563. sub-int v4, v0, v5
  564. .line 287
  565. .local v4, "top":I
  566. invoke-virtual {v2, v1, v4, v3, v0}, Landroid/graphics/Rect;->set(IIII)V
  567. .line 289
  568. invoke-super {p0, p1, p2, p3}, Landroid/support/v4/view/PagerTitleStrip;->updateTextPositions(IFZ)V
  569. .line 290
  570. const/high16 v5, 0x3f000000 # 0.5f
  571. sub-float v5, p2, v5
  572. invoke-static {v5}, Ljava/lang/Math;->abs(F)F
  573. move-result v5
  574. const/high16 v6, 0x40000000 # 2.0f
  575. mul-float/2addr v5, v6
  576. const/high16 v6, 0x437f0000 # 255.0f
  577. mul-float/2addr v5, v6
  578. float-to-int v5, v5
  579. iput v5, p0, Landroid/support/v4/view/PagerTabStrip;->mTabAlpha:I
  580. .line 292
  581. iget-object v5, p0, Landroid/support/v4/view/PagerTabStrip;->mCurrText:Landroid/widget/TextView;
  582. invoke-virtual {v5}, Landroid/widget/TextView;->getLeft()I
  583. move-result v5
  584. iget v6, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  585. sub-int v1, v5, v6
  586. .line 293
  587. iget-object v5, p0, Landroid/support/v4/view/PagerTabStrip;->mCurrText:Landroid/widget/TextView;
  588. invoke-virtual {v5}, Landroid/widget/TextView;->getRight()I
  589. move-result v5
  590. iget v6, p0, Landroid/support/v4/view/PagerTabStrip;->mTabPadding:I
  591. add-int v3, v5, v6
  592. .line 294
  593. invoke-virtual {v2, v1, v4, v3, v0}, Landroid/graphics/Rect;->union(IIII)V
  594. .line 296
  595. invoke-virtual {p0, v2}, Landroid/support/v4/view/PagerTabStrip;->invalidate(Landroid/graphics/Rect;)V
  596. .line 297
  597. return-void
  598. .end method