如何在android XML中将复选框(勾选框)颜色更改为白色

syqv5f0l  于 2023-05-05  发布在  Android
关注(0)|答案(8)|浏览(289)

有没有办法在android XML中将复选框(勾选框)颜色更改为白色。(我需要白色的勾选框,其中包含黑色勾选,作为我在我的真实的设备内的Android Studio中得到的预览)
下面是我的复选框代码

<CheckBox
    android:textSize="15sp"
    android:textColor="#fff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Save Loging "
    android:id="@+id/checkBox"
    android:layout_below="@id/PasswordeditText"
    android:checked="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:buttonTint="#fff" />

当我添加android:buttonTint="#fff"预览显示我需要的更改,但它不工作在真实的设备
设计预览

真实的设备

有没有像android:buttonTint这样的属性,我可以用它来实现真实的设备中的更改。

iqxoj9l9

iqxoj9l91#

colorAccent设置为所需的颜色:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="colorAccent">#fff</item>
</style>

或者,如果您不想更改主主题,请创建一个新主题并仅将其应用于复选框:

<style name="WhiteCheck">
    <item name="colorAccent">#fff</item>
</style>
<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:theme="@style/WhiteCheck"/>
ztyzrc3y

ztyzrc3y2#

这是tachyonflux的答案的变体:
尝试更改buttonTint:

<style name="my_checkbox_style">
    <item name="buttonTint">#fff</item>
</style>

<CheckBox
            android:id="@+id/my_checkbox"
            style="@style/my_checkbox_style"
            android:background="#000" />
ercv8c1e

ercv8c1e3#

从XML

<androidx.appcompat.widget.AppCompatCheckBox
    ...
    app:buttonTint="@android:color/white" />

Java/Kotlin:

CompoundButtonCompat.setButtonTintList(cbCheck, ColorStateList.valueOf(Color.WHITE));
yk9xbfzb

yk9xbfzb4#

我们可以很容易地改变复选框的颜色通过使用这个属性在xml中

<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/COLOR_WHICH_YOU_WANT" />
92vpleto

92vpleto5#

  1. android:buttonTint="@color/白色”这一行你的按钮颜色变了
<CheckBox
            android:id="@+id/checkk"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/_40sdp"
            android:layout_alignParentLeft="true"
            android:background="@color/black"
            android:buttonTint="@color/white"                 
            android:textSize="@dimen/_14sdp" />
deyfvvtc

deyfvvtc6#

我们可以改变复选框的颜色使用单行代码

android:buttonTint="@color/app_color" //whatever color
snvhrwxg

snvhrwxg7#

使用MaterialCheckBox

<com.google.android.material.checkbox.MaterialCheckBox
style="@style/checkbox_inv"
android:id="@+id/checkbox"
app:useMaterialThemeColors="false"/>

和stlyles.xml中

<style name="checkbox_inv">
    <item name="checkedIconTint">@color/blue_gray</item>
</style>
pb3skfrl

pb3skfrl8#

试试这个

<CheckBox
    android:textSize="15sp"
    android:textColor="#fff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Save Loging "
    android:id="@+id/checkBox"
    android:layout_below="@id/PasswordeditText"
    android:checked="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:button="@android:drawable/checkbox_on_background" />

如果选中CheckBox,则在android:button=中写入"@android:drawable/checkbox_off_background"

相关问题