14

特定の CheckBox の Android チェックボックスのデフォルトの色を緑のチェックマークから青に変更するにはどうすればよいですか?

4

2 に答える 2

22

残念ながら、色の変更は単純な属性ではありません。チェックマークは画像であるため、カスタム画像を作成する必要があります。この例を見てください

次のようなセレクターxmlファイルを作成します。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/star_down" />
    <item android:state_checked="false" android:drawable="@drawable/star" />
</selector>

このxmlファイルをres\drawables\フォルダーに保存します。次に、レイアウトファイル内で次のようにチェックボックスに適用します。

<CheckBox
    android:text="Custom CheckBox"
    android:button="@drawable/checkbox_selector"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

この例では、セレクターxmlファイルに「checkbox_selector.xml」という名前を付け、drawablesフォルダーにもstar_down.pngとstar.pngが必要です。この手法を使用して、システムチェックボックスの画像を任意の色に変更し、セレクターで変更されたpngファイルを参照することにより、さまざまな色のチェックボックスを作成できます。

于 2012-07-02T23:30:17.780 に答える
8

buttonTintこれは(API レベル 23 以降) を使用して xml で簡単に実行できます。

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:buttonTint="@color/COLOR_HERE" />

Nicolás が指摘したように、appCompatCheckbox v7古い API を使用してこれを行うことができます。

<android.support.v7.widget.AppCompatCheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:buttonTint="@color/COLOR_HERE" /> 
于 2015-11-20T19:18:35.343 に答える