TextView color selector为何无效

2017-10-11  本文已影响0人  Kndroid

一、准备

<?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

上一篇 下一篇

猜你喜欢

热点阅读