在android中创建自定义复选框

时间:2011-06-15 05:51:54

标签: android customization

我有一个Android应用程序。有一个活动需要7个复选框,但由于SDK提供的默认复选框的大小非常大并占用大量空间,我尝试开发自己的自定义复选框。

为此,我捕获了两张图片(已选中和未选中),点击其中一张图片切换,即点击已选中它转换为未选中,反之亦然。

但我想知道有没有其他方法可以做到这一点..

1 个答案:

答案 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"/>