在公司做项目的时候设计到了动态设置选择器的内容今天我来写一下关于动态实现选择器的内容:
应为才进公司所以被分配到的是简单的活,修改按钮的字体颜色,也就是实现字体颜色的选择器,因此我先说ColorStateList :
ColorStateList 可以实现按住的时候状态和没有按住状态的文字显示不同的颜色
下面是test.xml 的代码
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="@color/testcolor1"/>
<item android:state_pressed="true" android:state_enabled="false" android:color="@color/testcolor2" />
<item android:state_enabled="false" android:color="@color/testcolor3" />
<item android:color="@color/testcolor5"/>
</selector>
实现了选择器以后可以直接在
文件放在res文件夹的color中,在使用ColorStateList 的时候会遇到提醒不支持的状况(Android Studio中),但是可以正常运行,但是在提交Git的时候会报错
下面是代码:
if(choose1)
{
mColorStateList =getResources().getColorStateList(R.color.test1);
}
else
{
mColorStateList =getResources().getColorStateList(R.color.test2);
}
bt1.setTextColor(mColorStateList);
choose1 = !choose1;
当使用直接使用getColorStateList 使用的会报错(我用的是MOTO X Style调试的),可是在源文件中现在支持的就是直接使用 getColorStateList ,如果您知道怎么解决请给我留言十分感谢!