美文网首页
Android里TextView动态设置颜色(setTextCo

Android里TextView动态设置颜色(setTextCo

作者: _compass | 来源:发表于2019-04-18 14:54 被阅读0次

    今天在写一个布局的时候,发现设置某一个TextView的选中字色,不起作用:
    起初是这么写的:

    // 设置字色,选中与非选中
    textView.setTextColor(getResources().getColor(R.color.text_judge_color));
    
    
    

    其中R.color.text_judge_color的布局是这么写的:

    <?xml version="1.0" encoding="utf-8"?>
    
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:color="#3ebfe9" android:state_pressed="true" />
        <item android:color="#3ebfe9" android:state_selected="true" />
        <item android:color="@color/text_color" /> <!-- not selected -->
    </selector>
    
    

    效果如下:


    image.png

    我们需要选中时文字颜色也随即显示蓝色,显然是不对的。

    后来发现,这么设置是不行的,要使用getColorStateList来设置颜色。
    代码如下:

            ColorStateList csl = getResources().getColorStateList(R.color.text_judge_color);
            textView.setTextColor(csl);
    

    运行效果如下:


    image.png

    这样才是正确的。

    相关文章

      网友评论

          本文标题:Android里TextView动态设置颜色(setTextCo

          本文链接:https://www.haomeiwen.com/subject/hmftgqtx.html