Android复选框中删除保留文本框

Dan*_*apa 2 checkbox android kotlin

我使用的自定义背景颜色会根据复选框的状态而变化,因此我的background属性已经被使用。大多数建议告诉我将背景设置为@null。我只想保留文本并删除左侧的框。

我已经可以更改背景的颜色和文本的颜色。我只想删除盒子。

<CheckBox
        android:text="CheckBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/checkbox_selector" 
        android:textColor="@color/checkbox_text"/>
Run Code Online (Sandbox Code Playgroud)

未选中-bakcground白色,文本黑色

已选中-背景红色,文本为白色

小智 5

您可以通过button复选框的属性来执行此the check drawable操作,以按照您的要求进行如下更改:

<CheckBox
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:focusable="true"
            android:background="@drawable/checkbox_selector"
            android:button="@drawable/cb_show_hide_selector"
            android:textColor="@color/checkbox_text"
            android:text="this is a checkbox"/>
Run Code Online (Sandbox Code Playgroud)

drawable folder使用名称创建文件,"cb_show_hide_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/ic_input_check" /> // for checked state
    <item android:state_pressed="true"
          android:drawable="@drawable/ic_input_check" /> // for checked state
   <item android:state_pressed="false"
          android:drawable="@android:color/transparent" /> // for unchecked state
</selector>
Run Code Online (Sandbox Code Playgroud)