web-dev-qa-db-ja.com

チェックされていないチェックボックスの背景色を設定するAndroid

次のようにする必要があります。

enter image description here

現在、次のようになっています。

enter image description here

角の丸い長方形はそれほど重要ではありません。ただし、チェックされていない状態は黒である必要があります。これは私のコードです:

<CheckBox
    Android:id="@+id/checkbox"
    Android:buttonTint="@color/orange"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"/>

これは私が使用しているテーマです:

  "Theme.AppCompat.Light.NoActionBar"

私もこれを試しました:

<style name="checkbox_style" parent="Bijenkorf">
    <item name="material_grey_600">@color/black</item>
</style>

デフォルトのチェックされていない色は#757575であるため。そして、これをテーマで調べたところ、「material_grey_600」でした。しかし、これはコンパイルされません。何か案は?

9
Jim Clermonts

このようにしてください-

レイアウトファイル内-

<Android.support.v7.widget.AppCompatCheckBox
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            app:theme="@style/CheckboxStyle"/>

およびstyle.xmlファイル内

<style name="CheckboxStyle" parent="AppTheme">
    <item name="colorAccent">@color/colorAccent</item>
</style>

または、このようにチェックされている色とチェックされていない色の両方を変更できます-

<style name="CheckboxStyle" parent="AppTheme">
    <item name="colorAccent">@color/colorAccent</item>  // for checked 
    <item name="Android:textColorSecondary">@color/colorSecondary</item>  // for unchecked
</style>

colorAccentおよびcolorSecondaryを必要な色に変更します。

それがあなたを助けることを願っています。

19
D_Alpha

次のようなCheckBoxスタイルを使用する必要があります。

xmlスタイルで

 <style name="MyCheckBox" parent="Theme.AppCompat.Light">
        <item name="colorControlNormal">@color/white</item>
        <item name="colorControlActivated">@color/white</item>
 </style>

xmlレイアウトで。

<CheckBox
    Android:layout_width="wrap_content"
    Android:layout_height="match_parent"
    style="@style/MyCheckBox"
    ...
2