我有一个复选框,我不知道如何更改它的颜色。我尝试在样式.xml和样式中创建自定义样式21.xml我在那里补充说:
<style name="checkBoxStyle" parent="Base.Theme.AppCompat">
<item name="colorAccent">@color/white100</item>
<item name="android:textColorSecondary">@color/white87</item>
</style>
然后我将样式添加到我的复选框中,如下所示:
@style/checkBoxStyle
颜色没有变化。它仍然是黑色的,我想要它是白色的。尝试创建另一个复选框,因为我教我可能搞砸了前一个。相同的结果。
清单:
<?xml version="1.0" encoding="utf-8"?>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".InputTaskActivity"
android:windowSoftInputMode="stateVisible">
</activity>
</application>
包含复选框的 XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_margin="5dp"
android:background="@color/colorPrimaryDark"
android:orientation="vertical"
android:padding="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="1">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:text="TextView"
android:textColor="@color/white100"
android:textSize="18sp" />
<Space
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<CheckBox
android:id="@+id/checkBox3"
style="@style/checkBoxStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
将样式属性更改为主题,如下所示:
<CheckBox
android:id="@+id/checkBox3"
android:theme="@style/checkBoxStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
您可能需要使用新的主题色创建新主题。然后,您必须在清单中为复选框所在的活动指定新创建的主题。
res/values/styles 中的复选框样式
<style name="MyCheckBox" parent="Theme.AppCompat.Light">
<item name="colorControlNormal">@color/colorGreen</item>
<item name="colorControlActivated">@color/colorBlue</item>
</style>
res/值/颜色.xml
<color name="colorBlue">#022ce6</color>
<color name="colorGreen">#02e602</color>
在您的活动 XML 文件中
<CheckBox
android:id="@+id/checkBox3"
android:theme="@style/MyCheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />