2013-12-12 24 views
15

私はアンドロイドアプリケーションを開発していますが、チェックボックスを使用していますが、デフォルトのチェックボックスのティックカラーは青ですので、色を黄色に変更します。チェックボックスのチェックに色を設定するinbuiltプロパティがあります。アンドロイドのチェックボックスのティックカラーを変更するには

+2

ここに解決策があります:[これをチェックアウト](http://stackoverflow.com/questions/3192173/change-icons-of-checked-and-unchecked-for-checkbox-for-android) –

答えて

30

残念ながら、checkobのチェックマークの色を変更すると、単純な属性ではありません

あなたのレイアウトファイルで名前cb_selector.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/checked" /> 
    <item android:state_checked="false" android:drawable="@drawable/unchecked" /> 
</selector> 

と解像度で\ドローアブル\フォルダを選択xmlファイルを作成します。 unchecked.png、そしてあなたのドローアブルフォルダにchecked.pngを追加

<CheckBox 
    android:id="@+id/cb" 
    android:text="My CheckBox" 
    android:button="@drawable/cb_selector" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

あなたのチェックボックスのこのファイルを適用します。これらはチェックされ、チェックされていないチェックボックスのイメージです。

+6

これは私のチェックボックスが消えますO_O –

+0

あなたは画像を囲む枠を表示する必要があります。一つの画像は空白の境界線になります。 –

+0

あなたはアンドロイドで色の変更を使用していますのでdrawappear:drawable = "@ drawable/checked" Uイメージが必要です! – ketom

0

チェックボックスにカスタムセレクタを使用します。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/patch_pressed" android:state_pressed="true"/> 
    <item android:drawable="@drawable/patch_normal" android:state_enabled="true"/> 
    <item android:drawable="@drawable/patchdisable" android:state_enabled="false"/> 


</selector> 

このようにします。

1

styles.xmlに移動してこの行を追加します。これを使用して

<style> 
<item name="colorAccent">@android:color/holo_green_dark</item> 
</style> 

あなたはボタンの色合いの属性を使用することができるAPI 21のとして、あなたは色や設定異なる色

+0

このコードは試してみます...それはうまく動作します –

+2

serioslyあなたのコメントはうまく動作しますが、あなたの答えには何が書いてありますか – Shekhar

+1

あなたのテーマを変更する方法は、チェックボックスだけではありませんか? –

2

を変更することができます

android:buttonTint="#FFFF00" 
40

あなたはbuttonTintを使用して描画可能を変更せずにこれを行うことができます(API 23時点):

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

またはAppCombatCheckBoxをolアンドロイド/互換性のバージョン

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

こんにちは、単純な解決策だった@afathman – Cloy

+0

IMOこれは一番良い答えです – fragon

+1

starStyleを使用する場合は、チェックした状態とチェックしていない状態の両方の色を設定して目的を破っています。 – yumoji

8

あなたはandroid.support.v7ライブラリからAppCompatCheckBoxの属性app:buttonTintを使用することができます。

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

アドバンテージ:API21の下でも動作し、チェックボックスを再描画する必要はありません。

関連する問題