How do I change a tab background color when using TabLayout? How do I change a tab background color when using TabLayout? android android

How do I change a tab background color when using TabLayout?


What finally worked for me is similar to what @如果我是DJ suggested, but the tabBackground should be in the layout file and not inside the style, so it looks like:

res/layout/somefile.xml:

<android.support.design.widget.TabLayout    ....    app:tabBackground="@drawable/tab_color_selector"    ...    />

and the selectorres/drawable/tab_color_selector.xml:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@color/tab_background_selected" android:state_selected="true"/>    <item android:drawable="@color/tab_background_unselected"/></selector>


You can try this:

<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">    <item name="tabBackground">@drawable/background</item></style>

In your background xml file:

<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_selected="true" android:drawable="@color/white" />    <item android:drawable="@color/black" /></selector>


Add atribute in xml:

<android.support.design.widget.TabLayout    ....    app:tabBackground="@drawable/tab_color_selector"    ...    />

And create in drawable folder, tab_color_selector.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@color/tab_background_selected" android:state_selected="true"/>    <item android:drawable="@color/tab_background_unselected"/></selector>