Radio Button选中后背景和字体同时变颜色

QRadioButton设置字体按钮样式(变大,调整颜色) QRadioButton设置字体按钮样式(变大,调整颜色)今天用到了QRadioButton这个选择的按钮,这是默认的样式,发现在ui的属性里面没有可调节的选项,有点犯愁,查了会文档,最后发现只能用样式表来修改QRadioButton的样式。QRadioButton::indicator 表示QRadioButton的指示器,也就是那个可以点的圆形按钮。用样式表设置了样式后,圆形按钮变大了,字体颜色啥的也变了,好看多了,达到了想要的效果。QRadioButton::checked 表示选中后要做的样式改变 阅读详情

在使用 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.   
  7.     <RadioButton  
  8.         android:id="@+id/btn1"  
  9.         android:layout_width="0dp"  
  10.         android:layout_height="35dp"  
  11.         android:layout_weight="1"  
  12.         android:background="@drawable/radiobutton_background"  
  13.         android:button="@null"  
  14.         android:gravity="center"  
  15.         android:text="P0501"  
  16.         android:textColor="@color/radiobutton_textcolor"  
  17.         android:textSize="14sp" />  
  18.   
  19.     <RadioButton  
  20.         android:id="@+id/btn2"  
  21.         android:layout_width="0dp"  
  22.         android:layout_height="35dp"  
  23.         android:layout_marginStart="10dp"  
  24.         android:layout_weight="1"  
  25.         android:background="@drawable/radiobutton_background"  
  26.         android:button="@null"  
  27.         android:gravity="center"  
  28.         android:text="P0502"  
  29.         android:textColor="@color/radiobutton_textcolor"  
  30.         android:textSize="14sp" />  
  31.   
  32.     <RadioButton  
  33.         android:id="@+id/btn3"  
  34.         android:layout_width="0dp"  
  35.         android:layout_height="35dp"  
  36.         android:layout_marginStart="10dp"  
  37.         android:layout_weight="1"  
  38.         android:background="@drawable/radiobutton_background"  
  39.         android:button="@null"  
  40.         android:gravity="center"  
  41.         android:text="P0503"  
  42.         android:textColor="@color/radiobutton_textcolor"  
  43.         android:textSize="14sp" />  
  44.   
  45. </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. });  
这样就可以获取到当前 RadioGroup 中选中的 RadioButton ,然后进行一些你想要的操作。


设置默认的radiobutton

首先获取radioGroup

radio_Group.check(R.id.rb_shouye);
//  设置成默认选中  按钮为红色
rb_shouye你想要默认的 id
第二种方法
// 设置成默认选中 按钮为红色
//在 xml 里面写一个属性
android:checked="true" 



陈小胖:RadioButton底部按钮文字图片背景的颜色改变 文章目录1、效果图2、xml3、改变背景图片4、改变文字颜色5、改变背景颜色寄语 1、效果图 只是简单写了一个点击文字变色 图片变色 背景变色 2、xml 四个重复太多 所以只写了一个RadioButton 注意:RadioButton写在RadioGroup里 <RadioButton android:id="@+id/btn_one" ... 阅读详情

相关推荐

嵌入式GUI皮肤定制:emWin Flex皮肤原理与五大控件实战

在嵌入式系统开发中,图形用户界面(GUI)是连接用户与设备的关键桥梁。其核心原理在于将控件的视觉表现与功能逻辑分离,通过Skinning(皮肤)技术实现。这项技术通过回调函数机制,将控件的绘制逻辑抽象为可配置的模块,从而在运行时动态切换外观。其技术价值在于显著提升开发效率、保证UI风格一致性,并能优化硬件资源利用。在嵌入式HMI、工业控制、智能家居等应用场景中,皮肤定制是实现品牌差异化、提升产品专业度的关键。本文以emWin的Flex皮肤系统为例,深入解析其基于回调的绘制模型配置与状态分离的设计思想,并详

weixin_33736832的博客 727

Qt如何设置QRadioButton中的点击按钮的背景色qss

要设置QRadioButton中点击按钮的背景色,您可以使用`::indicator`伪元素选择器来选择按钮的指示器部分,并设置其背景色。在这个示例代码中,当QRadioButton选中时,其指示器部分的背景颜色被设置为红色。您可以根据需要修改背景颜色。radioButton->setStyleSheet("/* 上述的样式表代码 */");这样,当QRadioButton选中时,其指示器部分的背景色将会变为红色。

xcksj888的博客 2887

emWin Flex皮肤深度定制:从原理到实战的嵌入式GUI美化指南

在嵌入式系统开发中,图形用户界面(GUI)的视觉表现力直接影响产品的用户体验市场竞争力。其核心原理在于通过数据驱动与事件回调机制,将控件的视觉描述(属性配置)与绘制逻辑(回调函数)分离,从而赋予开发者像素级的UI控制权。这项技术的核心价值在于,它突破了传统嵌入式GUI库千篇一律的默认外观,允许开发者将品牌视觉语言(如特定色彩、渐变、质感)深度植入产品界面,实现从“功能可用”到“体验出色”的跨越。在医疗设备、工业HMI、消费电子等对界面专业度与美观度有高要求的应用场景中,定制化皮肤技术是构建产品差异化的关键

weixin_33971977的博客 401

【细节】radio 标签 ,更换 默认选中背景

radio 标签 ,更换默认选中背景

AAAXiaoApple的博客 1257

RadioButton自定义图标跟选中文本状态

RadioButton平时用的比较少,突然用到反而遇到点小问题,为了避免以后又忘记了浪费时间,还是稍微记录一下。 实现效果如图,修改选中时候的文本跟小图标: 代码很简单,直接上代码。再稍微备注一下需要注意的地方。 <RadioGroup android:layout_width="wrap_content" android:layout_height=

u014369799的博客 4487

emWin Flex皮肤定制:从原理到实战,打造专业嵌入式GUI界面

在嵌入式GUI开发中,控件皮肤定制是实现界面美观与品牌差异化的核心技术。其原理基于回调函数与命令驱动的绘制引擎,通过结构化的配置数据(如颜色、渐变)将视觉表现与业务逻辑解耦,从而提升代码可维护性。这项技术的核心价值在于,它允许开发者在不修改核心逻辑的前提下,全方位重塑控件外观,满足现代产品对UI的个性化需求。典型的应用场景包括工业HMI、智能家居面板、医疗设备等对界面有较高要求的嵌入式设备。本文聚焦于emWin的Flex皮肤系统,深入解析MULTIPAGE、PROGBAR、RADIO等核心控件的定制方法,涵

weixin_30527423的博客 333

RadioButton设置绿色游标,并改变textColor

xml文件布局 <!-- android:button="@null"把圆圈去掉 --> <RadioButton android:id="@+id/radio0" android:layout_width="0dp" android:layout_height="35dp" androi

tongtongzhao的博客 1030

emWin皮肤系统深度解析:从回调机制到自定义控件绘制的嵌入式GUI进阶指南

在嵌入式系统开发中,图形用户界面(GUI)是连接用户与设备的关键层,其视觉体验直接影响产品竞争力。GUI框架通过控件绘制与业务逻辑分离的架构,实现界面外观的灵活定制,这一机制的核心是回调函数与状态管理。emWin作为一款高效的嵌入式GUI库,其皮肤系统(Skinning)正是这一原理的工程实践,它允许开发者接管控件的像素级绘制权,通过WIDGET_ITEM_DRAW_INFO结构体传递绘制命令与区域信息,实现从颜色、渐变到复杂位图效果的完全自定义。这项技术的价值在于能突破默认主题限制,为智能家居面板、工业H

weixin_30552811的博客 314

Unity UI开发核心指南:Canvas、组件与性能优化全解析

在游戏开发中,用户界面(UI)系统是连接玩家与游戏世界的桥梁,其核心原理基于渲染管线与事件处理机制。Unity的UI系统通过Canvas作为渲染管理器,结合RectTransform的锚点布局体系,实现了灵活的界面适配。从技术价值看,高效的UI不仅能提升用户体验,更是优化游戏性能的关键环节,尤其在移动端开发中,合理的绘制调用合批与网格重建管理直接影响帧率稳定性。应用场景涵盖从简单的菜单按钮到复杂的可拖拽背包系统,都需要深入理解Canvas的三种渲染模式(Overlay、Camera、World Space)

weixin_34185320的博客 308

MFC界面控件开发指南:从基础到高级实战技巧

在Windows桌面应用开发中,用户界面(UI)是软件与用户交互的核心。MFC(Microsoft Foundation Classes)作为一套经典的C++类库,通过封装Windows标准控件公共控件,为开发者提供了构建结构化界面的高效框架。其核心机制包括对话框数据交换(DDX)数据验证(DDV),能够简化控件与程序变量间的数据同步,提升开发效率。在工程实践中,掌握控件的静态与动态创建、消息映射与事件处理,是构建稳定、可维护应用界面的基础。无论是维护遗留系统还是开发特定行业应用,深入理解CListCt

weixin_33868027的博客 363

嵌入式GUI皮肤系统:从CHECKBOX_SKIN_FLEX到统一主题架构

在嵌入式系统开发中,图形用户界面(GUI)的定制化与资源优化是核心挑战。皮肤系统作为一种界面渲染机制,通过分离视觉表现与控件逻辑,实现了UI样式的数据驱动管理。其原理在于将颜色、尺寸等视觉属性封装为结构体,由皮肤回调函数根据控件状态动态绘制,从而在运行时实现样式的灵活切换。这一技术显著提升了嵌入式GUI的可维护性一致性,尤其适用于需要支持多主题、多模式的工业HMI、智能家居等场景。以SEGGER emWin的FLEX皮肤家族为例,CHECKBOX_SKIN_FLEX通过CHECKBOX_SKINFLEX_

weixin_33691700的博客 376

1.前端入门:HTML+CSS

1.box-shadow: h-shadow v-shadow blur spread color inset; h-shadow 必需。水平阴影的位置。允许负值。 v-shadow 必需。垂直阴影的位置。允许负值。 blur 可选。模糊距离。 spread 可选。阴影的尺寸。 color 可选。阴影的颜色。请参阅 CSS 颜色值。 inset 可选。将外部阴影 (outset) 改为内部阴影。 ......

zxz86的博客 357

RadioButton改变背景颜色

<?xml version="1.0" encoding="utf-8"?> <item android:state_checked="true"> <layer-list> <item android:top="15dp" android:bottom="15dp" android:left="30dp" android:right="30dp">

qq_44977215的博客 904

VS2010下如何改变Button颜色、背景、边框

之前一直使用BCB实现界面,现项目需要专用VS,用起来真感觉有点麻烦,为了区别鼠标是否已经按下或弹起状态,弄个Button,参考了好多资料,折腾了许久。   SHOW 一下鼠标按下前鼠标弹起来后的颜色变化,调试结果。 鼠标 按下 鼠标 弹起后 实现思路过程:重载DrawItem函数,实现重绘Button

程序之奥妙 2万+

RadioGroup 的 RadioButton 选择改变字体颜色背景颜色

RadioGroup <RadioGroup android:id="@+id/client_charge_radiogroup" android:layout_width="200dp" android:layout_height="40dp" android:layout_marginLeft="5dp" android:layou

小点滴 7万+

Android Radiobutton超级好用的自定义背景、文字颜色、点击效果

Android开发中一些认证、筛选的功能需要用到单选按钮,首先想到的是RadioGroup嵌套RadioButton,但是自带的样式真是不堪入目啊,功能实现了,如何能最大化的提升用户体验呢?这是一个问题…… 废话不多说,毕竟开发人员也不太善于表达,还是直接看图说话吧: 首先思路要明确,分析要独到,radioButton默认背景是白底黑字,选...

会飞的小驴粪蛋 1万+

QRadioButton设置按钮点击后字体颜色变化

【代码】QRadioButton设置按钮点击后字体颜色变化。

czw23345的博客 1475
上一篇: 自定义view
下一篇: Android studio 3.0安装配置方法图文教程
I_do_
博客等级 码龄9年 31粉丝 99原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值