androidRadioButton 自定义样式

来源:互联网 发布:软件静默安装器 编辑:程序博客网 时间:2024/05/21 02:34

之前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" />

这样就可以实现你想要的效果了。

 

0 0