如何更改复选框的默认图像
我正在使用 ListView,对于每一行,我都有 row_item.xml,并且我在代码中对其进行了膨胀
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<CheckBox
android:id="@+id/chk"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txtChoice"
android:textColor="#FF0000"
android:text="TEST"
android:layout_toRightOf="@id/chk"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
如何更改该复选框在选中时使用另一个 custom_1 图像,在未选中时使用另一个 custom_2 图像?
I am using ListView and for every row I have row_item.xml and I inflate that in code
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<CheckBox
android:id="@+id/chk"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txtChoice"
android:textColor="#FF0000"
android:text="TEST"
android:layout_toRightOf="@id/chk"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
How to change that checkBox use another custom_1 image when is checked and another custom_2 image when is unchecked ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Drawable customdrawablecheckbox.xml:
yourcheckbox xml:
Drawable customdrawablecheckbox.xml:
yourcheckbox xml:
checkbox 是一个按钮,因此您可以提供自己的可绘制对象,具有选中、取消选中状态,并将其作为复选框背景。例如
,将其放入可绘制文件夹中的 file.xml 中。在您的复选框中:
checkbox is a button, so you can provide your own drawable with check uncheck state and it as checkbox background. For instance
and put this in a file.xml in your drawable folder. In your checkbox:
这很容易:)
首先,您需要创建一个 CustomCheckBox 类,它将扩展 CheckBox 并覆盖
onDraw(Canvas canvas)
方法:同时在您的可绘制文件夹中创建名为
custom_check_box
的选择器:并使用您的上面的 XML 中的自定义图标/imgs 对于所有三种状态(聚焦/按下/默认)
在 XML 中使用自定义组件,如下所示:
和 java:
它可以工作,因为我两种方式都使用了它:)并且经过一些调整,它可以工作单选按钮也以同样的方式。快乐编码!
Its pretty easy :)
First you need to create a CustomCheckBox class which will extend CheckBox and override the
onDraw(Canvas canvas)
method:Also create your selector named
custom_check_box
in your drawable folder:And use your custom icons/imgs in the XML above for all three states (focused/pressed/default)
Use the custom component in your XML like this :
and java :
It works because I used it both ways :) And with some tweaks it works for RadioButtons too the same way. Happy coding!
您可以在xml中使用选择器,它用于根据复选框的选中状态动态更改复选框的图像。
例如:
在以下文件中,如果选中该复选框,则会设置 ic_linkedin 图标,如果未选中该复选框,则会设置 ic_linkedin_disabled 图标。
You can use selector in xml, which is used to change the image of checkbox dynamically according to its checked state.
For example:
In the following file, if the checkbox is checked, it will set the ic_linkedin icon and if the checkbox is unchecked, it will set the ic_linkedin_disabled icon.