首先,drawable文件夹中的selector,tab_background.xml:
<?xml version="1.0" encoding="utf-8"?>
<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>
然后,drawable文件夹中的tab_background_selected.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#d13fdd1a" />
</shape>
然后,drawable文件夹中的tab_background_unselected.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#3F51B5" />
</shape>
最后,在styles.xml中,指定要使用的选择器,并指定选项卡指示器样式,因为tab_background.xml现在将忽略TabLayout中的属性:
app:tabBackground="@drawable/tab_select_background"
至此,设置切换选中时 tab 的背景色功能已完成
本文介绍了如何在Android中通过XML选择器和形状 drawable 文件来自定义TabLayout的选中和未选中状态背景色。首先创建selector XML,定义不同状态下的图片,然后分别创建背景选中和未选中的形状文件,设置所需颜色。最后,在styles.xml中指定使用该选择器,完成TabLayout的背景色切换设置。
1583

被折叠的 条评论
为什么被折叠?



