递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4580|回复: 4
打印 上一主题 下一主题

[安卓] 【分享】修改单选框按钮前面圆圈样式的方法

[复制链接]

44

主题

233

帖子

914

积分

高级会员

Rank: 4

积分
914
跳转到指定楼层
楼主
发表于 2022-4-28 15:21:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 blackangeldsf 于 2022-4-29 11:26 编辑

前几天问了几个问题,都是围绕着如何修改单选框按钮前圆圈颜色的,问题始终没有解决,今天无意中发现了。在此记录下,希望能帮助其他需要的朋友。
我的需求其实很简单,想实现如下图的效果。

火山默认情况下,单选框的颜色好像未选中是白色,选中后是绿色的吧。

要实现上面的效果,目前探索到的两种解决方案,无论哪一种方法,都要提前准备好类似下图的两个样式文件。

(radio_check.png)   (radio_nor.png)

解决方案1:使用xml文件方式

(1)编写以下背景图文件,比如文件名为:“bjt.xml”,此xml文件定义了选中和未选中时,使用的背景样式。内容如下:

  1. <selector xmlns:android="http://schemas.android.com/apk/res/android" >
  2.         <item
  3.             android:drawable="@<font color="Red">drawable</font>/radio_check"
  4.             android:state_checked="true"/>
  5.         <item
  6.             android:drawable="@<font color="Red">drawable</font>/radio_nor"
  7.             android:state_checked="false"/>
  8. </selector>
复制代码

注意红色字体部分,我们需要将按钮图片文件放到这个目录下。

(2)在火山平台中附加外部资源,这样火山在编译时,可以将图片放到drawable目录下。


(3)最后一步,定义图片变量,并设置单选框圆圈背景。搞定。


解决方案2:不使用xml文件,使用命令方式。需要用到“置按钮背景”命令。


      (1)以可绘制资源方式导入两张图片,如下图:

(2)使用命令设置按钮圆圈背景   

(3)最后一步,通过单选框选中状态事件控制按钮圆圈背景图。搞定。


最后还是有个疑问,就是为何在“置按钮背景”命令中直接使用颜色就不行呢?谁能给小弟解答下,感激不尽!




















回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40533
沙发
发表于 2022-4-28 19:09:41 | 只看该作者
因为不支持啊。。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

17

主题

792

帖子

2742

积分

金牌会员

Rank: 6Rank: 6

积分
2742
板凳
发表于 2022-4-28 23:12:34 | 只看该作者
学习....
回复

使用道具 举报

27

主题

264

帖子

1996

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1996
地板
发表于 2022-4-29 08:45:25 | 只看该作者
:噜阿噜进展不快啊,还在收支界面上,和你差不多,我已经在搞类别了:噜阿噜
回复

使用道具 举报

44

主题

233

帖子

914

积分

高级会员

Rank: 4

积分
914
5#
 楼主| 发表于 2022-4-29 11:22:20 | 只看该作者
上等兵 发表于 2022-4-29 08:45
:噜阿噜进展不快啊,还在收支界面上,和你差不多,我已经在搞类别了:噜阿噜

没时间搞,得空才弄的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 17:49 , Processed in 0.089939 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表