赞
踩
之前android学习的时侯,就只是简单的学习一些基本控件的简单应用,没有考虑到基本控件的特殊应用,就拿RadioButton来说吧:刚开始做的时候有想过通过android:drawableLeft属性设置它的初始状态,然后再通过它的单击事件来改变android:drawle,从而达到自己想要的效果,但是在布局文件里边定义android:drawableLeft可以,但是单击事件里边就只能改变它的draw,而这个属性只是想当与改变了radioButton的背景图片,根本就达不到改变前面radioButton的效果,后来又搜了资料,自己整合了一下,具体的做法如下:
在Android APP的开发过程中,可能会应用到一些自己想要的效果,比如button的初始状态和选中状态,效果如下所示:
上面这种格式是系统自带的效果图,但是实际的应用中一般都会自己定义它的效果。就拿如下图
所示效果来举例子吧,你可以通过以下步骤来实现:
1、在drawable文件夹里边建一个radio.xml文件。里边的内容如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 未选中 -->
<item
android:state_checked="false"
android:drawable="@drawable/rd1" />
<!-- 选中 -->
<item
android:state_checked="true"
android:drawable="@drawable/rd2" />
</selector>
注:上面rd1,rd2是自己期望的状态图片
2、在定义的RadioButton里加上android:button="@drawable/radio"属性
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:text="@string/pj_xh"
android:button="@drawable/radio" />
这样就可以实现你想要的效果了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。