作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试使用以下内容制作一个 xml 选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shuffleon" android:state_checked="true" />
<item android:drawable="@drawable/shuffleoff" android:state_selected="false" />
</selector>
当我尝试将 backgroundDrawable
设置为 checkBox
时,复选框也不会替换 CheckBox
样式:
shuffle.setBackground(android.support.v4.content.res.ResourcesCompat.getDrawable(getResources(), R.drawable.shuffle, null));
跟随这个问题:Change icons of checked and unchecked for Checkbox for Android我需要用我的 xml 设置 button drawable
:android:button="@drawable/checkbox"
但我不能这样做,因为我正在创建 CheckBox
以编程方式。有没有办法实现这一目标?
最佳答案
在drawable文件夹中新建一个layout,命名为custom_checkbox(也可以重命名)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/Checked_image_name"android:state_checked="true"/>
<item android:drawable="@drawable/Unchecked_image_name" android:state_checked="false"/>
</selector>
在您的布局 Activity 中使用它
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/custom_checkbox"/>
关于Android 用自定义可绘制选择器替换复选框样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31183713/
我是一名优秀的程序员,十分优秀!