在选定和取消选择状态下更改Tablayout中的图标

Fai*_*med 3 icons android android-tablayout

对不起,如果之前已经问过这个问题.

我想在选项卡布局的选项卡中选择图标时更改图标.我怎么能用选择器做到这一点?

我的应用程序中有两个选项卡,选中状态图标应该更改.

LvN*_*LvN 5

请尝试这个

tabLayout.getTabAt(0).setIcon(R.drawable.selector);
Run Code Online (Sandbox Code Playgroud)


小智 5

1.创建自定义选项卡选择器 -您需要添加状态选择true和false

 <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/home_fill"
            android:state_selected="true"/>
        <item android:drawable="@drawable/home_line"
            android:state_selected="false"/>
    </selector>
Run Code Online (Sandbox Code Playgroud)

2.添加自定义选项卡选择器drawable作为tabItem的图标

<android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/footer"
        app:tabIndicatorColor="@color/female_colour">

        <android.support.design.widget.TabItem
            android:id="@+id/tab_home"
            android:layout_width="@dimen/_25dp"
            android:layout_height="@dimen/_25dp"
            android:padding="@dimen/_4dp"
            android:icon="@drawable/tab_home"
            />
 </android.support.design.widget.TabLayout>
Run Code Online (Sandbox Code Playgroud)

代码在Android版本7.1.1上进行了测试