Android中如何设置RadioButton在文字的右边,图标在左边
来源:互联网 发布:期货日线数据下载 编辑:程序博客网 时间:2024/04/29 16:55
Android中如何设置RadioButton在文字的右边,图标在左边?
现状:Android 默认的 RadioGroup 中 RadioButton和 文字 Text 的位置关系是 Radiobutton在文字左边。且只有点击Radiobutton才能触发点击事件,文字不能触发监听事件。
目标:外观UI上要和 RadioGroup 的保持一致,但是逻辑上除了要实现单选功能外,还要能根据逻辑要求Disable掉某一条RadioButton(不能点击,按钮和文字灰白)。
一般的RadioGroup效果图:
解决方案:
一、利用Radiobutton的属性
1.android:button="@null"将图标给隐藏
2.再用android:drawableRight="@android:drawable/btn_radio"在右边生成一个图标,再用android:text="文字内容"在隐藏图标的位置显示文字。
3.根据逻辑在代码中设置Radiobutton的enable、focusable、clickable的属性。
详细参见博客:http://blog.csdn.net/sunnyfans/article/details/7901592(谢谢博主哦!)
方案一的效果图:
二、自定义布局
布局描述: 该布局由两层框架组成。红色框是一个Realtivelayout,由左边的Textview和右边的Radiobutton组成,下边的红色框组成相同。两个红色框外部套着一个LinearLayout。这样就模拟了RadioGroup的UI效果。但是RadioGroup的单选逻辑和Disable的功能需要进一步实现。
下面描述一下实现过程中遇到的问题:
1 模拟RadioGroup的UI效果遇到的问题:
(1)TextView 要居左,Radiobutton 要居右。使用RelativeLayout比较容易实现 。若使用LinearLayout来实现,需用weight属性来控制他们的位置,而且会出现Textview的内容变长会挤压右边Radiobutton的问题,待解。
(2)Text 要水平居中,垂直居中显示。如果父布局使用RelativeLayout 则使用layout_centerVertical属性来控制。如果父布局使用LinearLayout,则要考虑综合使用layout_gravity、weight属性。其中layout_gravity在LinearLayout下的用法有点诡异。Orientation属性会影响到这个属性某些值能否起作用。详请参见博客
http://www.cnblogs.com/xiaoran1129/archive/2013/03/26/2982733.html(谢谢博主哦!)
2 实现逻辑功能遇到的问题:
(1)要求能点击文字和Radiobutton都能响应监听事件,需把监听加到红色方框的布局上,同时要把Textview和Radiobutton的focusable和clickable设为false。如若不然,Radiobutton也能获取监听事件。然后在代码里实现互斥选中的逻辑和enable/diable某一条的逻辑。
(2)为上下两个View加个分隔线吧。两种方法
使用Linearlayout的属性:android:showDividers="middle" 和 android:divider="?android:attr/listDivider">,同时使用,缺一不可;
使用Imageview组件自己画一个分隔线。
详请参见博客http://blog.csdn.net/cjllife/article/details/8146943(谢谢博主哦!)
方案二的效果图:
先写到这里,慢慢增肥。
- Android中如何设置RadioButton在文字的右边,图标在左边
- Android中如何设置RadioButton在文字的右边,图标在左边
- Android中如何设置RadioButton在文字的右边,图标在左边
- Android中如何设置RadioButton在文字的右边
- Android设置RadioButton在文字的右边
- Android设置RadioButton在文字的右边
- Android设置RadioButton在文字的右边
- Android 设置RadioButton文字在图片左边
- 如何在按钮中把文字放左边,图片放右边
- 如何在按钮中把文字放左边,图片放右边
- iOS自定义Button如何在按钮中把文字放左边,图片放右边
- Android UI设计中RadioButton显示在右边
- UIBUTTON怎样可以实现icon在左边,文字在右边的效果
- Android设置圆形组件以及在组件中设置图标或文字的2中方法
- iOS Button 按钮 设置图片在文字的右边
- 在文字前设置图标的办法
- android:EditText开始光标在text内容的左边,将其改为初始化在右边
- 在网页中点击左边的连接,内容在右边显示
- JAVAEE入职后到底都在干啥——常见入职疑惑解答(一)
- 创建apple ID
- ACE_Select_Reactor 一 ——入门
- 49.VC(custom)-操作系统分类
- 信息冗余告诉我们该如何在互联网时代阅读
- Android中如何设置RadioButton在文字的右边,图标在左边
- android 中的设计模式 之 观察者模式
- 张亮热吻娇妻
- 黑马程序员_基础加强_枚举
- SQL预处理语句(Prepared Statements)
- RMAN CROSSCHECK命令 说明
- Android核心组件之Service
- u盘里边的重要的数据都丢失怎么办
- 控制动画时间