设置TextView的颜色

TextView当中设置颜色时,除了使用资源文件中的颜色,还会需要使用接口传来的色值动态设置颜色,总结一下各类颜色的表示形式传入setTextColor的方法

1.项目的res\values\colors.xml文件中,定义颜色

<resources>
    <color name="colorPrimary">#00a0ff</color>
</resources>

然后通过资源引用(tv为预定义好的TextView)

tv.setTextColor(getResources().getColor(R.color.colorPrimary));
2.十六进制色值,像#FFFFFF

tv.setTextColor(Color.parseColor("#FFFFFF"));  
 
3.argb色值,255, 255, 255

tv.setTextColor(Color.rgb(255, 255, 255));

需要传入各种状态(按下变色)下的不同颜色时,可以使用ColorStateList

首先定义好各状态下的color

res\color\目录下,创建一个selector

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false" android:color="@color/bg_notify" />
    <item android:state_pressed="true" android:color="@color/orange"/>
    <!-- pressed -->
</selector>
然后

    tv.setTextColor(getResources().getColorStateList(R.color.color_submit));



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章