Android TabLayout 选中的tab背景

Android TabLayout selected tab background

真的没有简单的方法来使用 TabLayout 并能够设置选项卡的颜色(选中,未选中)吗?就像选中的标签背景使用 colorPrimary,未选中的标签使用 colorPrimaryDark 之类的?我在网上搜索了 and this 等等。我可以使用解决方案 1 更改背景颜色,但现在 指示器丢失了,我想要它回来。

这不会很难做到..

第一个 link 的解决方案:

<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
        <item name="tabBackground">@drawable/tab_background</item>
</style>

// tab_background
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/tab_background_selected" android:state_selected="true" />
    <item android:drawable="@drawable/tab_background_unselected" android:state_selected="false" android:state_focused="false" android:state_pressed="false" />
</selector>

答案:

<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
        <item name="tabBackground">@drawable/tab_background</item>
        <item name="tabIndicatorColor">@color/colorAccent</item>
        <item name="tabIndicatorHeight">3dp</item>
</style>

风格改变

  <style name="Base.Widget.Design.TabLayout" parent="android:Widget">
      <item name="tabBackground">@drawable/tab_background</item>
      <item name="tabIndicatorColor">#000000</item> 
      <item name="tabIndicatorHeight">5dp</item>      
  </style>