TextView color selector为何无效

一、准备

<?xmlversion="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

      <item android:state_selected="true" android:color="@color/white" />

      <item android:state_focused="true" android:color="@color/white" />

      <item android:state_pressed="true" android:color="@color/white" />

      <item android:color="@color/color_999999" />

</selector>

编写完Color选择器后,就将((TextView)contentView.findViewById(R.id.pop_label_1_tv)).setTextColor(R.drawable.x);这样设置,完成后发现选择器居然不起作用。

脑袋有点晕,竟然忘了这是个ColorStateList,所以:

ColorStateList color = getResources().getColorStateList(R.drawable.bg_message_pop_tab_txt_color);

((TextView)contentView.findViewById(R.id.pop_label_1_tv)).setTextColor(color);

使用代码设置颜色,需要这样做才是正确的;

或者可以在布局文件中,直接给TextView 设置textColor属性,使用drawable也是可以的

如果是因为事件拦截问题,类外考虑,最好加上clickable=true,或者给TextView设置OnlickListener

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容