主要应用在购物车,像淘宝的那样,点击以后弹出一个选择种类颜色这样的popuwindow以后,然后这个选择种类的地方要用到类似这个玩意儿。

搜了一下,效果和这个文章一致。转了。

原文地址:http://blog.csdn.net/liuwan1992/article/details/52688408

在使用 RadioButton 时,有时我们会想要达到选中时文字颜色和背景颜色同时改变的效果,这里还需要多进行几步操作。

首先,在布局文件中新建一组 RadioButton :

  1. <RadioGroup
  2. android:layout_width="match_parent"
  3. android:layout_height="wrap_content"
  4. android:gravity="center"
  5. android:orientation="horizontal">
  6. <RadioButton
  7. android:id="@+id/btn1"
  8. android:layout_width="0dp"
  9. android:layout_height="35dp"
  10. android:layout_weight="1"
  11. android:background="@drawable/radiobutton_background"
  12. android:button="@null"
  13. android:gravity="center"
  14. android:text="P0501"
  15. android:textColor="@color/radiobutton_textcolor"
  16. android:textSize="14sp" />
  17. <RadioButton
  18. android:id="@+id/btn2"
  19. android:layout_width="0dp"
  20. android:layout_height="35dp"
  21. android:layout_marginStart="10dp"
  22. android:layout_weight="1"
  23. android:background="@drawable/radiobutton_background"
  24. android:button="@null"
  25. android:gravity="center"
  26. android:text="P0502"
  27. android:textColor="@color/radiobutton_textcolor"
  28. android:textSize="14sp" />
  29. <RadioButton
  30. android:id="@+id/btn3"
  31. android:layout_width="0dp"
  32. android:layout_height="35dp"
  33. android:layout_marginStart="10dp"
  34. android:layout_weight="1"
  35. android:background="@drawable/radiobutton_background"
  36. android:button="@null"
  37. android:gravity="center"
  38. android:text="P0503"
  39. android:textColor="@color/radiobutton_textcolor"
  40. android:textSize="14sp" />
  41. </RadioGroup>

这里面有三个属性要做一下说明:

1、Android:button="@null" 这样设置可以不显示我们通常所见的 RadioButton 中的圆形选中按钮.

2、android:background="@drawable/radiobutton_background" 这里设置了背景选择器,代码如下:

  1. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  2. <item android:drawable="@drawable/radiobutton_background_unchecked"
  3. android:state_checked="false" />
  4. <item android:drawable="@drawable/radiobutton_background_checked"
  5. android:state_checked="true" />
  6. </selector>

这里面的选中样式又指向一个 Drawable 资源文件 radiobutton_background_checked.xml ,具体代码如下:

  1. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:shape="rectangle">
  3. <!-- 填充 -->
  4. <solid android:color="@color/color14" />
  5. <!-- 圆角 -->
  6. <corners android:radius="5dp" />
  7. </shape>

以上这些资源文件都放在 res/drawable/ 目录下。

3、android:textColor="@color/radiobutton_textcolor" 这里设置了字体颜色选择器,需要稍作说明的是:需要在 res 目录下新建一个

文件夹取名为 color ,将字体颜色选择器 radiobutton_textcolor.xml 文件存放在 res/color/ 目录下面。代码如下:

  1. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  2. <item android:color="@color/color2"
  3. android:state_checked="false" />
  4. <item android:color="@color/color1"
  5. android:state_checked="true" />
  6. </selector>

经过以上步骤后,我们来看一下效果图:

     

最后提一下怎么通过 RadioGroup 获取 RadioButton :

  1. RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
  2. radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
  3. @Override
  4. public void onCheckedChanged(RadioGroup group, int checkedId) {
  5. RadioButton radioButton = (RadioButton) group.findViewById(checkedId);
  6. String result = radioButton.getText().toString();
  7. }
  8. });

Android RadioButton设置选中时文字和背景颜色同时改变的更多相关文章

  1. 转 Android RadioButton设置选中时文字和背景颜色同时改变

    主要应用在购物车,像淘宝的那样,点击以后弹出一个选择种类颜色这样的popuwindow以后,然后这个选择种类的地方要用到类似这个玩意儿. 搜了一下,效果和这个文章一致.转了. 原文地址:http:// ...

  2. android中设置ListView的选中的Item的背景颜色

    ListView中没有默认的选择颜色,只有选择Item后的焦点颜色,鼠标点击时Item有颜色,放开鼠标后颜色也就没有了,要实现放开鼠标后选择项的背景还是有颜色的. 1.配置main.xml <? ...

  3. css3应用之自定义选中文字的背景颜色

    在看很多的博客主题时候发现大多数都对选中文字的背景颜色做了相应的处理.其实这样是很符合用户体验的.因为有很多的人会用鼠标选择着一行一行的阅读.其中就包括本人... 浏览器中默认的选中的文字颜色为白色, ...

  4. [Xcode 实际操作]五、使用表格-(5)设置UITableView的单元格背景颜色

    目录:[Swift]Xcode实际操作 本文将演示单元格背景颜色的设置 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //首先添加两个协 ...

  5. pycharm设置开发模板/字体大小/背景颜色(3)

    一.pycharm设置字体大小/风格 选择 File –> setting –> Editor –> Font ,可以看到如上界面,可以根据自己的喜好随意调整字体大小,字体风格,文字 ...

  6. Echarts 设置地图上文字大小及颜色

    Echarts 设置地图上文字大小及颜色,效果如下: 上代码:关键代码用红色 series: [ { //name: '香港18区人口密度', type: 'map', mapType: 'jiang ...

  7. html根据下拉框选中的值修改背景颜色

    错误的写法 <!doctype html><html><head><meta charset="utf-8"><title&g ...

  8. HTML之背景颜色的改变

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. Windows 10设置桌面图标间距、窗口的背景颜色、选中文字的背景颜色

    Windows 10取消了“高级外观设置”(或者叫“窗口颜色和外观”设置),想调整一些参数只能进注册表了. 修改后可能需要注销或重启才能生效. 按Win+R,然后输入regedit进入注册表编辑器. ...

随机推荐

  1. Redis学习-redis概述

    最近刚刚接触了redis技术,对此有一些了解,这是简单做一点总结. Redis简介 首先,简单了解一下NoSQL(Not only sql),不要错误的理解为:没有SQL,而是不仅仅是SQL.NoSQ ...

  2. HTML5实战与剖析之原生拖拽(一拖拽历史概述)

    提起拖拽,我就想起了在JavaScript培训的时候一个非常好玩的效果,那就是拖拽了.可以用鼠标任意拖拽着一个物体到任何你想去的地方. 最早拥有JavaScript拖拽功能的是IE4浏览器.当时,网页 ...

  3. cordova编译crosswalk-webview插件报错的处理办法

    一直用得好好的.今天编译cordova失败了.报错如下: :processArmv7DebugManifest :processArmv7DebugResourcesERROR: In FontFam ...

  4. Xcode10升级项目报错library not found for -lstdc++.6.0.9

    在升级Xcode10后运行项目会发出报了一个错“library not found for -libstdc++.6.0.9”,很简单,就是因为xocde10后这个libstd++.6.0.9库已经不 ...

  5. 洛谷P1503 鬼子进村 [平衡树,STL]

    题目传送门 鬼子进村 题目背景 小卡正在新家的客厅中看电视.电视里正在播放放了千八百次依旧重播的<亮剑>,剧中李云龙带领的独立团在一个县城遇到了一个鬼子小队,于是独立团与鬼子展开游击战. ...

  6. scrapy抓取拉勾网职位信息(七)——实现分布式

    上篇我们实现了数据的存储,包括把数据存储到MongoDB,Mysql以及本地文件,本篇说下分布式. 我们目前实现的是一个单机爬虫,也就是只在一个机器上运行,想象一下,如果同时有多台机器同时运行这个爬虫 ...

  7. iOS 9音频应用开发基础教程

    iOS 9音频应用开发基础教程(大学霸内部资料)   介绍:iOS 9音频应用开发基础教程(内部资料)是iOS 9音频应用开发专向教程.本书采用Swift 2.0语言开发基于iOS 9的音频应用.实现 ...

  8. appcompat_v7怎么不创建

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 我们建项目时直接把最小SDK选在Android4.0以上不就不需要这个支持库

  9. codevs 1058 合唱队形 2004年NOIP全国联赛提高组

    1058 合唱队形 2004年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description N位同学站成一排,音 ...

  10. poj 2342 && hdu 1520 树形dp

    题意:有n个人,接下来n行是n个人的价值,再接下来n行给出l,k说的是l的上司是k,这里注意l与k是不能同时出现的 链接:点我 dp[i][1] += dp[j][0], dp[i][0] += ma ...