Android通过RadioGroup设置一组单选按钮RadioButton,但在RadioGroup中只能设置按钮排序为横排或纵排。当需要实现多行多列的单选按钮组时,查了网上的方法,发现两种解决方式:
一、通过在xml中设置margin
android:layout_marginLeft="-100dip"
android:layout_marginTop="40dip"
这种方式兼容性不理想,对于不同尺寸的设备需对margin进行相应调整。
二、对RadioGroup进行改写:
链接:http://jasonshieh.iteye.com/blog/1972131
这个太长了,我没试= =
测试发现可用另一种较为简单的方法实现单选按钮组多行列的效果
思路:
1.假设要做一个两行三列的单选按钮组,可设置一个水平方向的LinearLayout,再在其中放置两个垂直方向的RadioGroup,每个RadioGroup含有两个按钮
2.完成步骤1后,从视觉效果上来说已完成了一个两行两列的按钮,但由于其由两个RadioGroup组成,所以无法达到单选的效果。为此,我们可以为Group中的RadioButton设置监听器,当Group1中的按钮被按下时,取消Group2中的选中状态即可。
code:
I.xml布局:一个LinearLayout,两个RadioGroup,每个RadioGroup含有3个RadioButton
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/