設置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));



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