漂亮的复选框

自定义控件可以让UI界面更加的炫酷,更符合用户的习惯。因此,好的自定义控件在开发中是相当重要的。今天在学习CheckButton多选框时用了一个不常见的drawableEnd属性。相对应的还有:drawableBottom(下方)、drawableLeft(左方)、drawableRight(右方)、drawableTop(上方)、drawableEnd(结束的地方)、drawableStart(开始的地方)。一般都是直接设置background属性,但是background属性是直接作为背景使用,在调节显示位置的时候不太方便。采用drawablexxx属性就方便了很多。下面是一个简单实例。


实现效果如下:素材有点丑,注重效果的实现。


漂亮的复选框_第1张图片


selector代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true"  android:drawable="@drawable/yescheckbox"/>  <!-- 被压下状态时 的背景 -->
	<item android:state_checked="true"  android:drawable="@drawable/yescheckbox"/>  <!-- 被选中时的背景 -->
	<item android:drawable="@drawable/nocheckbox"/>  <!-- 普通正常状态下的背景 -->
</selector>


xml中篮球代码如下:
<CheckBox
	        android:layout_marginLeft="20dp"
	        android:id="@+id/study_mycheckBox1"
	        android:layout_width="wrap_content"
	        android:layout_height="wrap_content"
	        android:onClick="mycheckBoxChick"
	        android:text="篮球" 
	        android:<span style="color:#ff6666;">background</span>="@drawable/checkbox_selecter"
	        <span style="color:#ff6666;">android:button="@null"</span>/>   <!-- 该属性可将系统所带的框去掉 -->
		<!-- background设置的selecter -->


xml中足球代码如下:

 <CheckBox
	        android:layout_marginLeft="20dp"
	        android:id="@+id/study_mycheckBox2"
	        android:layout_width="wrap_content"
	        android:layout_height="wrap_content"
	        android:onClick="mycheckBoxChick"
	        android:text="足球" 
	        android:<span style="color:#ff6666;">drawableEnd</span>="@drawable/checkbox_selecter"
	        android:button="@null"/>
	    <!--drawableEnd设置的 selecter -->
	    <!-- drawableEnd属性设置selecter会比background设置selecter有更好的效果 -->


 <CheckBox
	     android:layout_marginLeft="20dp"
	        android:id="@+id/study_mycheckBox5"
	        android:layout_width="wrap_content"
	        android:layout_height="wrap_content"
	        android:onClick="mycheckBoxChick"
	        android:text="足球" 
	        android:<span style="color:#ff6666;">drawableBottom</span>="@drawable/checkbox_selecter"  
	        android:button="@null"/>     

xml中乒乓球代码如下:


<CheckBox
	        android:layout_marginLeft="20dp"
	        android:id="@+id/study_mycheckBox3"
	        android:layout_width="wrap_content"
	        android:layout_height="wrap_content"
	        android:onClick="mycheckBoxChick"
	        android:text="乒乓球"
	        android:<span style="color:#ff6666;">background</span>="@drawable/checkbox_selecter" 
	        />
<span style="white-space:pre">		</span><!-- 没有设置android:button属性 --><span style="white-space:pre">	</span>



在background不能实现的时候,就想想drawablexxx吧。



你可能感兴趣的:(漂亮的复选框)