我有一个Android应用程序。有一个活动需要7个复选框,但由于SDK提供的默认复选框的大小非常大并占用大量空间,我尝试开发自己的自定义复选框。
为此,我捕获了两张图片(已选中和未选中),点击其中一张图片切换,即点击已选中它转换为未选中,反之亦然。
但我想知道有没有其他方法可以做到这一点..
答案 0 :(得分:6)
通过为您的复选框状态放置一个适当的可绘制xml文件以及您需要设置的相应图像,这很简单。
将以下代码放在drawable named checkbox.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/star_checked" /> <!-- pressed -->
<item android:state_checked="false"
android:drawable="@drawable/star_unchecked" /> <!-- focused -->
<item android:drawable="@drawable/star_unchecked" />
</selector>
并在上面的代码集上设置代码进行操作,使用android:button = @ drawable / checkbox“
<CheckBox android:id="@+id/chkFav" android:layout_width="wrap_content"
android:layout_marginRight="0dp" android:button="@drawable/checkbox"
android:layout_height="wrap_content" android:clickable="true"/>