2012-07-02 12 views
11

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

+1

[この質問]の複製と思われる(http://stackoverflow.com/questions/3491203/how-to-customize-the-color-of-the-checkmark-color-in-android-in-a-dialog -andr)。 – nTraum

+3

違いは、この質問は本当に新しい答えを持っています。 –

+0

[CheckBoxの色を変更するにはどうすればいいですか?](http://stackoverflow.com/questions/5854047/how-to-change-the-color-of-a-checkbox) – afathman

答えて

22

残念ながら、色の変更は単純な属性ではありません。チェックマークはイメージなので、カスタムイメージを作成する必要があります。このexample

を見てみましょうこのようなセレクタ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> 

をごres\drawables\フォルダに、このXMLファイルを保存します。あなたは、セレクタxmlファイル「checkbox_selector.xml」を指定するといいでしょう。この例では

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

を、あなたはstar_down.pngを必要とし、star.pngたい:次に、あなたのレイアウトファイル内でこのようなあなたのチェックボックスのそれを適用あなたのドロウアブルフォルダでも同様です。このテクニックを使用して、システムのチェックボックス画像を任意の色に変更し、変更されたpngファイルをセレクタで参照することで、異なる色のチェックボックスを作成することができます。

+1

リンクしている例良いものです。リンクは、リンクからの関連コンテンツを投稿したいと思うリンクでは、一般的に答えで死んでいくことに注意する価値があります。この回答は長い間起こっているので、リンクが腐っていれば、将来的には人々にとって役に立たないだろう。今でもそれは彼らが後のことを達成するのに役立ちます。 – FoamyGuy

+0

良い点。私はあなたの助言に将来従います。 layout_width = "wrap_content" アンドロイド:layout_height = "wrap_content" アプリ:buttonTint = "@色 – HexAndBugs

5

これは、(APIレベル23のような)buttonTintを使用してXMLで行うのは簡単です:

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

とニコラスが指摘したように、古いAPIのappCompatCheckbox v7を使用してこれを行うことができます。

<android.support.v7.widget.AppCompatCheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:buttonTint="@color/COLOR_HERE" /> 
+2

あなたはAPPCOMPATと ' この場合、 –

+0

は無効になっています。チェックボックスは明るく、色はグレーに変更しないでください。 –

+0

@AlexanderTumaninチェックされていない色をグレーに変更する方法は? –

関連する問題