android自定义RadioButton的样式_android radiobutton 自定义样式-程序员宅基地

技术标签: radiogroup选择  UI  radiobutton样式  自定义radiobutton  android自定义radiobutton  

这里讲解RadioButton样式的实现、初始值、选择值得保存

一、样式的实现

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:gravity="center_vertical"
                android:text="开启支付"
                android:textColor="@color/black"
                android:textSize="20sp" />

            <RadioGroup
                android:id="@+id/rgPay"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="50dp"
                android:orientation="horizontal">

                <RadioButton
                    android:id="@+id/rbYes"
                    android:layout_width="50dp"
                    android:layout_height="50dp"
                    android:layout_marginLeft="40dp"
                    android:background="@drawable/radiobutton_selector"
                    android:button="@null"
                    android:gravity="center"
                    android:text="是"
                    android:textColor="@drawable/radiobutton_text_color"
                    android:textSize="18sp" />

                <RadioButton
                    android:id="@+id/rbNo"
                    android:layout_width="50dp"
                    android:layout_height="50dp"
                    android:layout_marginLeft="20dp"
                    android:background="@drawable/radiobutton_selector"
                    android:button="@null"
                    android:gravity="center"
                    android:text="否"
                    android:textColor="@drawable/radiobutton_text_color"
                    android:textSize="18sp" />
            </RadioGroup>

radiobutton_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/shape_radiobutton_n" android:state_checked="false" />
    <item android:drawable="@drawable/shape_radiobutton_p" android:state_checked="true" />
</selector>

shape_radiobutton_n

<?xml version="1.0" encoding="utf-8"?><!-- 实线边框+内部填充 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    android:useLevel="true">
    <corners android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />

    <!--描边-->
    <stroke android:color="#07ACED"
        android:width="2dp"></stroke>

    <!--实心-->
    <solid android:color="@color/white" />

    <padding android:bottom="10dp"
        android:left="10dp"
        android:top="10dp"
        android:right="10dp"/>
</shape>

shape_radiobutton_p

<?xml version="1.0" encoding="utf-8"?><!-- 实线边框+内部填充 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    android:useLevel="true">
    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />

    <!--描边-->
    <stroke
        android:width="2dp"
        android:color="#07ACED"></stroke>

    <!--实心-->
    <solid android:color="#07ACED" />

    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />
</shape>

radiobutton_text_color

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_checked="false"
        android:color="@color/color_text_00aeef" />
    <item
        android:state_checked="true"
        android:color="@color/white" />
</selector>

二、给RadioButton赋值

        boolean isOpen = SPUtils.getInstance().getBoolean(Const.SPKEY.PAY_IS_PAY,true);
        if (isOpen) {
            RadioButton radioButton1 = (RadioButton) rgPay.getChildAt(0);
            radioButton1.setChecked(true);
        } else {
            RadioButton radioButton2 = (RadioButton) rgPay.getChildAt(1);
            radioButton2.setChecked(true);
        }

三、保存选中的值

    private OnCheckedChangeListener onCheckedChangeListener = new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId) {
                case R.id.rbYes:
                    SPUtils.getInstance().put(Const.SPKEY.PAY_IS_PAY, true);
                    break;
                case R.id.rbNo:
                    SPUtils.getInstance().put(Const.SPKEY.PAY_IS_PAY, false);
                    break;
            }
        }
    };

自定义checkbox的样式,看这里

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dami_lixm/article/details/92840803

智能推荐

SQL语句中on 、where 和 having的区别_having on语句-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏8次。关键字: on数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的..._having on语句

格林公式计算多边形的面积_格林公式求多边形面积-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏27次。算法导论第31章第一节第8题。只要是边不相交的简单多边形,也就是说,不仅凸多边形,还有各种奇形怪状的凹多边形,都可以用格林公式求出面积。格林公式:若函数P(x,y), Q(x,y)在由一条或几条光滑曲线所围成的闭区域D上连续,且有连续的一阶偏导数,则有L为区域D的边界曲线,并取正方向。边不相交的简单多边形正好是由数条线段围成的闭区域,所以可以使用格林公式。令P=0, Q=x,则面积S = 设第i个..._格林公式求多边形面积

什么是nvm,nvm详解-程序员宅基地

文章浏览阅读9.5k次,点赞3次,收藏3次。nvm1. 概念详情点击nvm全名node.js version management,是一个node的版本管理工具首先最重要的是:一定要卸载已安装的 NodeJS,否则会发生冲突。然后下载 nvm-windows 最新安装包,直接安装即可。_nvm

软件测试影响最深的bug,软件测试面试题-那些让我印象深刻的bug-程序员宅基地

文章浏览阅读7.7k次。相信大家在工作中面试过程中经常被问到,让你印象最深刻的一个bug是什么,这是一个开放性的题目,并没有标准答案,每个人接触过的系统都不一样,遇到过的问题也不一样,可能面试官只是想看一下你的表达能力,以及平常在工作中是否会进行总结。这类问题可以挑选容易被人忽略的场景,难以想到的场景,特殊机型的兼容性或者特殊操作下才会出现的问题等。接下来为大家分享一个我今天遇到的一个问题:由于缓存中key的设置不合理导..._面试过程中遇到你印象最深刻的bug 是什么

ActivityManagerService启动activity流程简析(二)_removepausetimeout-程序员宅基地

文章浏览阅读2.7k次。Task.java private boolean resumeTopActivityInnerLocked(ActivityRecord prev, ActivityOptions options) { ... // 1.获取栈顶的activity ActivityRecord next = topRunningActivity(true /* focusableOnly */); ... ..._removepausetimeout

草图大师SketchUp 2021 mac版 兼容macos11系统正式上线!_sketch up 有mac版本吗-程序员宅基地

文章浏览阅读3.9k次。草图大师2021 mac版是一款功能强大且完善的建筑草图设计软件,它能够帮助设计师快速的将3D模型进行创建并进行演示和分享,sketchup2021中文名为草图大师mac版,可以快速为用户创建三维创意。sketchup2021 mac版能够满足客户所有需求的三维建筑设计草图软件。从小细节到大部件SketchUp 2020 特别 for Mac都是非常完美处理的草图大师 2021 mac版可以快速为您进行汽车,人物,门窗等模型建造。草图大师SketchUp 2021 mac版SketchUp 20_sketch up 有mac版本吗

随便推点

创建数组对象_ets定义数组-程序员宅基地

文章浏览阅读1.8k次。开发工具与关键技术:VS、创建数组对象作者:陆桂超撰写时间:2019年7月27日1、 如下图所示是一个动态添加的table表格,这里显示有三条数据。那么如何把这三条数据传到控制器呢?我们可以把这三条数据封装到一个数组里面,然后把数组传到控制器。2、首先在for循环外面声明一个数组,记住不能在for循环里面声明数组,因为如果在for循环里面声明数组,这样就每循环一次都会创建一个数组,而我们..._ets定义数组

MyBatis--1_mybatis indexof(',')==1-程序员宅基地

文章浏览阅读103次。概述MyBatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。以开发sql语句的工作量为代价换取高灵活性##Hello MyBatis1、添加依赖<dependency> _mybatis indexof(',')==1

gperftools使用说明_gperftools使用详解-程序员宅基地

文章浏览阅读1.9k次。原文章:使用gperftool + libuwind + graphviz来分析程序性能为了了解程序的执行时间以及各个函数之间的调用关系,可以通过Google的gperftool来统计函数之间的关系以及时间信息。通过分析每个函数的时间信息,就可以看程序的关键消耗点在什么地方。1. 安装gperftools:http://code.google.com/p/gperftools/do_gperftools使用详解

PHP 常用函数(一)-程序员宅基地

文章浏览阅读101次。12个常用数学函数函数名描述实例输入输出abs()求绝对值$abs = abs(-4.2); //4.2数字绝对值数字ceil()进一法取整echo ceil(9.999); // 10浮点数进一取整floor()舍去法取整echo floor(9.999); // 9浮点数直接舍去小数部分fmod()浮点数取余x=5.7;...

android ui 特效_leonids安卓-程序员宅基地

文章浏览阅读346次。http://blog.csdn.net/lmj623565791/article/details/46858663https://github.com/hongyangAndroid/Android_Blog_Demos_leonids安卓

getssdtserviceid_[下载]发个获得SSDT函数名和索引号的代码-程序员宅基地

文章浏览阅读79次。通过枚举ntdll.dll的导出表,先是判断是不是Nt开头的,是的话再判断第一要语句是不是mov eax,是的话再取得索引号。具体见源码,没有什么技术含量。只是觉得前面有很多人写过了,但是后面可能还有很多人写,所以丢出来,供大家娱乐一下。// 使用说明例子#include "GetSSDTInformation.h"#include int main(void){GetSSDTInformatio..._ssdt关联函数名

推荐文章

热门文章

相关标签