如何使用选择器使用新的TabLayout更改图标

Fáb*_*llo 16 android material-design android-support-design

我正在使用Android的新支持TabLayout.问题是我想在选择标签时使用选择器来更改图标.

我一直在研究源代码,在我看来它永远不会改变视图的状态(因此我不能使用选择器).

有谁知道一些解决方法?

谢谢!

Xin*_*ang 55

假设你的my_selector.xml是,

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/icon_on" android:state_selected="true"/>
    <item android:drawable="@drawable/icon_off"/> <!-- default -->
</selector>
Run Code Online (Sandbox Code Playgroud)

然后你可以直接调用setIcon,

tab.setIcon(R.drawable.my_selector);
Run Code Online (Sandbox Code Playgroud)

已通过'com.android.support:design:22.2.0'验证.


Ani*_*dan 0

有一种方法可以使用setCustomView(View view)方法将 customView 设置为选项卡。因此,您可以创建一个文本视图并为其设置一个选择器,并将该视图设置为选项卡。

希望对您有帮助!