TabPagerIndicator自定义实现与样式优化
TabPagerIndicator 的自定义玩法,真的是蛮有用的一招。原生的TabLayout
虽然也能用,但样式太死板,多设计稿压根儿对不上。这时候自定义一个TabPagerIndicator
,你就能自由控制标题长度、字体、颜色这些细节,界面更贴合产品风格。
重写onDraw()
,加点逻辑控制每个 Tab 的宽度,设置LayoutParams
就搞定了。像遇到文字太长的标题,用ellipsize
加省略号也挺方便。或者根据文字宽度动态调字体大小,也能显示不全的问题。
颜色样式这块也能玩得灵活。换个选中和未选中的Drawable
,甚至自己画个边框都不难。你还可以引入自定义字体,比如加个Typeface
,视觉效果立马高一个档次。
实际项目里,你会写一个自己的类,比如MyTabPageIndicator
,继承个TabLayout
啥的,自己加上addTab()
、setViewPager()
这些方法。配合监听器OnTabSelectedListener
,逻辑起来更顺手。
布局文件里,直接引用你的组件类,再通过 XML 属性控制样式,像android:textSize
、android:ellipsize
这些都能直接用。如果你习惯用代码动态设置,也没问题。,想怎么调就怎么调。
如果你经常跟ViewPager
打交道,又对默认TabLayout
的样式不太满意,自定义一个TabPagerIndicator
真的蛮值的。灵活度高,配合 ViewPager 用起来还挺爽。
9.65MB
文件大小:
评论区