复选框颜色不变



我有一个复选框,我不知道如何更改它的颜色。我尝试在样式.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" />

相关内容

  • 没有找到相关文章

最新更新