onunix 2023-04-21 19:01 采纳率: 80%
浏览 12
已结题

请问Checkbox的问题

例如,有多篇文章,文章列表,有个CheckBox表示全选,全不选,和部分选中。但是android 自带的CheckBox只有2个状态, 选中和不选中,
这种3个状态的Checkbox感觉是个通用的需求,如果自己做一个,还得找图片也麻烦,感觉又在造轮子,请问有推荐的现成的实现吗?你们都是自己做的吗?

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2023-04-21 19:15
    关注

    可以使用Android自带的CheckedTextView来实现三个状态的选择框。CheckedTextView继承自TextView,可以设置三种状态:选中、未选中和部分选中。可以通过设置CheckedTextView的checkMark属性来改变选中状态的图标。

    示例代码:

    <CheckedTextView
        android:id="@+id/checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Checkbox"
        android:checkMark="@drawable/checkbox_selector"
        android:clickable="true"
        android:focusable="true"
        android:padding="10dp"
        android:gravity="center_vertical"
        android:textSize="16sp" />
    

    其中,@drawable/checkbox_selector是一个selector,用来设置选中状态的图标。可以在drawable文件夹下创建一个checkbox_selector.xml文件,内容如下:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/ic_check_box" android:state_checked="true" />
        <item android:drawable="@drawable/ic_check_box_outline_blank" android:state_checked="false" />
        <item android:drawable="@drawable/ic_indeterminate_check_box" android:state_checked="false" android:state_focused="true" />
    </selector>
    

    其中,ic_check_box、ic_check_box_outline_blank和ic_indeterminate_check_box是三种状态的图标,可以自行替换。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月10日
  • 已采纳回答 6月2日
  • 创建了问题 4月21日

悬赏问题

  • ¥15 有没有可以帮我搞一个微信建群链接,包括群名称和群资料群头像那种,不会让你白忙
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题