![](/img/trans.png)
[英]android.support.design.widget.tablayout Tab Indicator colour
[英]Custom selected tab colour in new android.support.design.widget.TabLayout?
我想知道是否可以在新的設計布局中更改選定的選項卡顏色? 我找到了所選標簽文本顏色的解決方案,但我想知道更改標簽顏色本身的方法。
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
style="@style/TabLayout.Theme"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_below="@+id/tabs"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</RelativeLayout>
<style name="TabLayout.Theme" parent="Widget.Design.TabLayout">
<item name="tabIndicatorColor">@color/black</item>
<item name="tabIndicatorHeight">4dp</item>
<item name="tabTextAppearance">@style/TextAppearance.Jacksonville.Tab</item>
<item name="tabSelectedTextColor">@color/text_dim</item>
<item name="tabBackground">@color/color_heading</item>
</style>
我需要像這樣更改選定的選項卡顏色。
您只需要設置app:tabBackground
屬性
app:tabBackground="@drawable/tab_selector_color"
並創建一個可繪制文件為tab_selector_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/tab_selected" android:state_selected="true"/>
<item android:drawable="@color/tab_unselected"/>
</selector>
所以完整的xml代碼看起來像
<android.support.design.widget.TabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="android:attr/listPreferredItemHeight"
android:minWidth="0dp"
app:tabMaxWidth="0dp"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabTextColor="@color/white"
app:tabIndicatorHeight="0dp"
app:tabSelectedTextColor="@color/white"
app:tabIndicatorColor="@color/mainBlue"
app:tabBackground="@drawable/tab_color_selector"/>
嗨,您可以將指示器的高度設置為等於TabLayout的高度,以便指示器將覆蓋Tab布局中所選項目的所有尺寸
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<!-- the color you want in selected tab -->
<item name="tabIndicatorColor">#50000000</item>
<item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>
<!-- set the indicator hieght equal to tablayout height -->
<item name="tabIndicatorHeight">60dp</item>
<item name="tabSelectedTextColor">#222222</item>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.