天天看點

Android開發 - Button的textColor屬性無效,設定後字型顔色變成粉紅色的原因,以及解決辦法THE END!

原創部落格,轉載請注明出處,歡迎轉載。

原本想要的效果如下圖:↓

Android開發 - Button的textColor屬性無效,設定後字型顔色變成粉紅色的原因,以及解決辦法THE END!

可是寫完代碼做出來的效果如下圖:↓

Android開發 - Button的textColor屬性無效,設定後字型顔色變成粉紅色的原因,以及解決辦法THE END!

錯誤的原代碼:

bt_sl_tx_sign_in_splash.xml:

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

bt_sl_tx_sign_up_splash.xml:

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

布局檔案:

<Button
    android:layout_width="123dp"
    android:layout_height="48dp"
    android:text="@string/sign_in"
    android:textSize="18sp"
    android:textColor="@drawable/bt_sl_tx_sign_in_splash"
    android:background="@drawable/bt_sl_bg_sign_in_splash"/>

<Button
    android:layout_width="123dp"
    android:layout_height="48dp"
    android:layout_alignParentEnd="true"
    android:text="@string/sign_up"
    android:textSize="18sp"
    android:textColor="@drawable/bt_sl_tx_sign_up_splash"
    android:background="@drawable/bt_sl_bg_sign_up_splash" />
           

原因及解決:不應該把字型的selector的item使用drawable屬性,改為color屬性即可解決。

改正後的代碼:

bt_sl_tx_sign_in_splash.xml:

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

bt_sl_tx_sign_up_splash.xml:

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

如果我的文章對您有幫助,就請客官給個贊吧

Android開發 - Button的textColor屬性無效,設定後字型顔色變成粉紅色的原因,以及解決辦法THE END!
Android開發 - Button的textColor屬性無效,設定後字型顔色變成粉紅色的原因,以及解決辦法THE END!
Android開發 - Button的textColor屬性無效,設定後字型顔色變成粉紅色的原因,以及解決辦法THE END!

THE END!