android radiogroup样式(设置切换背景与文字颜色)

2018-11-28 09:55:53

RadioButton(单选按钮)在Android开发中应用的非常广泛,比如一些选择项的时候,会用到单选按钮。它是一种单选框双状态的按钮,可以选择或不选择。在RadioButton没有被选中时,用户能够按下或点击来选中它。

RadioGroup和RadioButton的关系:

1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

2、每个RadioGroup中的RadioButton同时只能有一个被选中

3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中

4、大部分场合下,一个RadioGroup中至少有2个RadioButton

5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起

始位置

注: RadioGroup继承至LinearLayout,所以LinearLayout的属性RadioGroup都可以使用。

RadioButton特殊属性:

  • android:drawable 设置图片可以选着图片位置

  • android:checked   控件是否选中

  • android:button     隐藏圆圈

注:button基本属性就不做细讲


 main.xml

<RadioGroup
                android:id="@+id/radioGroup1"
                android:layout_width="wrap_content"
                android:layout_height="36dp"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:orientation="horizontal" >

                <RadioButton
                    android:id="@+id/radio0"
                    android:layout_width="0dp"//设0才可以与radio1平分宽度
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/radio_check"
                    android:button="@null"
                    android:checked="true"
                    android:gravity="center"
                    android:text="@string/title"
                    android:textColor="@drawable/radio_text_check" />

                <RadioButton
                    android:id="@+id/radio1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/radio_check"
                    android:button="@null"
                    android:gravity="center"
                    android:text="@string/title2"
                    android:textColor="@drawable/radio_text_check" />

            </RadioGroup>

 

radio_text_check.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_checked="true" android:color="@android:color/white"/>
    <item android:state_checked="false" android:color="@android:color/holo_blue_bright"/>

</selector>

 

radio_check.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/image1" android:state_checked="true"/>
    <item android:drawable="@drawable/image2" android:state_checked="false"/>

</selector>
  • 2017-03-11 08:39:13

    mysql存在就更新,否则插入

    ,如果要在插入的时候先判断插入的数据是否存在数据库中,那每一次插入之前都要进行一次select的操作,这样效率不高?如何优化蛤?

  • 2017-03-13 12:07:19

    JavaScript原型与原型链分析

    JavaScript没有类的概念,但几乎所有的东西又是基于对象的,同时也能实现继承,这就是js跟其他OOP语言最大的不同之处,这也是js最难理解的一块。下面我来说说我个人的理解。

  • 2017-03-15 07:43:19

    NodeJS服务器”热部署“代码,实现动态调试

    如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚本(如果没有专门的优化配置)。