字體顏色變化效果

字體的顏色變化效果跟按鈕的背景變化效果差不多,都是定義一個selector選擇器,只是在定義時,無法ctrl+/無法關聯出color的屬性

耽誤了一小段時間。

首先定義在value目錄下創建一個color.xml的文件定義顏色:

<resources>
        <color name="total">#8be18f</color>
        <color name="today">#ff9c00</color>
        <color name="month">#0096ff</color>
        
        <color name="white">#ffffff</color>
        <color name="black">#000000</color>
        
        <drawable name="white">#ffffff</drawable>
        <drawable name="black">#000000</drawable>
</resources>

然後創建drawable文件夾,創建text_color.xml 名字任意取

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item
        android:state_enabled="true"
        android:state_pressed="false"
        android:color="@drawable/black"></item>
    <item
        android:state_enabled="true"
        android:state_pressed="true"
        android:color="@drawable/white"></item>
</selector>

注意在定義selector選擇器時,我ctrl+/無法關聯出color的屬性,這裏浪費了一點時間

然後在文本顏色定義時引用這個顏色選擇器

        <TextView
            android:id="@+id/about_us"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/about_us_avatar"
            android:layout_marginLeft="8dp" 
            android:layout_centerVertical="true"          
            android:gravity="center"
            android:text="@string/setting_aboutus"
            android:textSize="15sp"
            android:textColor="@drawable/text_color"/>

背景同樣這樣設置,就能夠達到點擊文本時,背景圖片和文字顏色同時發生改變的效果。

這裏要注意一下,如果控件是TextView並且使用了drawableTop之類的屬性來設置圖片和文字,好像無法同時設置圖片和文字顏色改變的效果

也就是drawableTop使用背景選擇器,文字顏色使用顏色選擇器,這樣無法達到點擊時同時改變圖片背景和文字顏色的效果。必須將圖片和

文字放在不同的控件中,然後分別使用背景選擇器和文字顏色選擇器。

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