Android:設(shè)置復(fù)選框 CheckBox 的顏色

問(wèn)題

如何設(shè)置復(fù)選框在不同狀態(tài)的顏色?

默認(rèn)樣式


默認(rèn)樣式.png

預(yù)期樣式


預(yù)期樣式.png

回答

可以借助 CheckBoxandroid:theme 屬性實(shí)現(xiàn)預(yù)期效果。

步驟

  1. 在 res/values/colors.xml 文件中定義兩種顏色,一種用于選中狀態(tài),另外一種用于未選中狀態(tài)。
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#6200EE</color>
    <color name="color_999999">#999999</color>
    ...
</resources>
  1. 在 res/values/styles.xml 文件中定義一個(gè)樣式資源,colorControlNormal用于指定未選中時(shí)的顏色,colorControlActivated 用于指定選中后的顏色。
<resources>
    ...

    <style name="CheckBox" parent="Theme.AppCompat.Light">
        <item name="colorControlNormal">@color/color_999999</item>
        <item name="colorControlActivated">@color/colorPrimary</item>
    </style>

</resources>
  1. 在 res/layout 目錄下的布局中文件中,為 CheckBox 控件設(shè)置 android:theme 屬性的值,引用在第 2 步中定義的樣式資源。
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
        ...
        <CheckBox
              android:id="@+id/single_cb_football"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="足球"
              android:textColor="@color/color_333333"
              android:textSize="@dimen/text_size4"
              android:theme="@style/CheckBox" />
        ...
</layout>

參考資料

嚶嚶嚶999 : Android CheckBox修改選中狀態(tài)框內(nèi)部顏色及樣式

代碼

XuMeng-0/android-study

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容