我正在玩新的android.support.design.widget.TabLayout
,发现一个问题,在类定义中,没有改变指示器颜色和默认高度的方法。
做了一些研究,发现默认的指示器颜色取自AppTheme。具体从这里:
<item name="colorAccent">#FF4081</item>
现在,就我而言,如果我改变colorAccent
,它将影响所有使用该值作为背景颜色的其他视图,例如 ProgressBar
现在除了colorAccent
?
遇到新的 TabLayout 使用值中的指示符颜色的问题colorAccent
,我决定深入研究android.support.design.widget.TabLayout
实现,发现没有公共方法来定制它。但是我发现 TabLayout 的样式规范:
<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
<item name="tabMaxWidth">@dimen/tab_max_width</item>
<item name="tabIndicatorColor">?attr/colorAccent</item>
<item name="tabIndicatorHeight">2dp</item>
<item name="tabPaddingStart">12dp</item>
<item name="tabPaddingEnd">12dp</item>
<item name="tabBackground">?attr/selectableItemBackground</item>
<item name="tabTextAppearance">@style/TextAppearance.Design.Tab</item>
<item name="tabSelectedTextColor">?android:textColorPrimary</item>
</style>
有了这个样式规范,现在我们可以像这样自定义 TabLayout:
<android.support.design.widget.TabLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@id/pages_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorHeight="4dp"/>
问题解决了,选项卡指示器的颜色和高度都可以更改其默认值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)