Android RadioGroup中横向、竖向布局RadioButton的问题

转载:http://blog.csdn.net/aminfo/article/details/7558308

RadioGroup默认的横向android:orientation="horizontal"、竖向布局android:orientation="vertical",无法设置每行显示的个数,只能全部横向显示或者竖向显示。

而通过线性布局模版后,RadioButton却变成不是同一个组的,变成不是单选的,达不到原先想要的效果。

 

本例中是想在RadioGroup中一行显示2个RadioButton,上面的方法行不通,后来发现在RadioButton用android:layout_marginLeft和android:layout_marginTop可能设置RadioButton的相对位置,于是,通过下面代码,实现了一行显示2列RadioButton,目前还未测试在不同分辨率下是否会出现误差。效果图如下:

 

布局代码如下:

 

[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2.     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.         android:id="@+id/layout_sort"  
  4.         android:layout_width="fill_parent"  
  5.         android:layout_height="120px"  
  6.         android:layout_weight="1"  
  7.         android:orientation="vertical"  
  8.         android:layout_gravity="center"  
  9.         android:gravity="center"  
  10.         android:layout_margin="5px"  
  11.         android:paddingLeft="10px"  
  12.         android:paddingRight="10px"  
  13.         android:paddingTop="5px"  
  14.         android:paddingBottom="5px">  
  15.           
  16.         <ScrollView   
  17.             android:layout_width="fill_parent"  
  18.             android:layout_height="wrap_content"  
  19.             android:scrollbars="vertical"  
  20.             android:fadingEdge="vertical">  
  21.               
  22.             <LinearLayout android:id="@+id/layout_sort0"  
  23.                 android:layout_width="fill_parent"  
  24.                 android:layout_height="wrap_content"  
  25.                 android:orientation="vertical">  
  26.           
  27.                 <LinearLayout android:id="@+id/layout_sort1"  
  28.                     android:layout_width="fill_parent"  
  29.                     android:layout_height="wrap_content"  
  30.                     android:orientation="vertical"  
  31.                     android:layout_gravity="left"  
  32.                     android:gravity="left">  
  33.               
  34.                     <TextView android:id="@+id/rename_sortTitle"  
  35.                         android:layout_width="fill_parent"  
  36.                         android:layout_height="32px"  
  37.                         android:singleLine="true"  
  38.                         android:textSize="20sp"  
  39.                         android:textStyle="bold"  
  40.                         android:gravity="center_vertical|left"  
  41.                         android:layout_gravity="center_vertical|left"  
  42.                         android:text="请选择排序方式:" />  
  43.                   
  44.                     <RadioGroup  android:id="@+id/orderBy"  
  45.                         android:layout_width="fill_parent"  
  46.                         android:layout_height="wrap_content"  
  47.                         android:orientation="vertical">  
  48.   
  49.                         <RadioButton android:id="@+id/orderBy1"  
  50.                             android:text="名称"  
  51.                             android:layout_width="wrap_content"  
  52.                             android:layout_height="wrap_content" />  
  53.                       
  54.                         <RadioButton android:id="@+id/orderBy2"  
  55.                             android:text="日期"  
  56.                             android:layout_width="wrap_content"  
  57.                             android:layout_height="wrap_content"  
  58.                             android:layout_marginLeft="120px"  
  59.                             android:layout_marginTop="-48px"/>  
  60.                       
  61.                         <RadioButton android:id="@+id/orderBy3"  
  62.                             android:text="类型"  
  63.                             android:layout_width="wrap_content"  
  64.                             android:layout_height="wrap_content" />  
  65.                   
  66.                         <RadioButton android:id="@+id/orderBy4"  
  67.                             android:text="大小"  
  68.                             android:layout_width="wrap_content"  
  69.                             android:layout_height="wrap_content"  
  70.                             android:layout_marginLeft="120px"  
  71.                             android:layout_marginTop="-48px" />  
  72.                           
  73.                         <RadioButton android:id="@+id/orderBy5"  
  74.                             android:text="系统默认"  
  75.                             android:layout_width="wrap_content"  
  76.                             android:layout_height="wrap_content" />                
  77.                   
  78.                     </RadioGroup>  
  79.               
  80.                     <View android:layout_width="fill_parent"  
  81.                         android:layout_height="1dip"  
  82.                         android:background="#ff666666" />  
  83.               
  84.                     <RadioGroup  android:id="@+id/orderLx"  
  85.                         android:layout_width="wrap_content"  
  86.                         android:layout_height="wrap_content">  
  87.                   
  88.                         <RadioButton android:id="@+id/orderLx1"  
  89.                             android:text="升序"  
  90.                             android:layout_width="wrap_content"  
  91.                             android:layout_height="wrap_content"/>  
  92.                       
  93.                         <RadioButton android:id="@+id/orderLx2"  
  94.                             android:text="降序"  
  95.                             android:layout_width="wrap_content"  
  96.                             android:layout_height="wrap_content"  
  97.                             android:layout_marginLeft="120px"  
  98.                             android:layout_marginTop="-48px" />  
  99.                                       
  100.                     </RadioGroup>  
  101.                   
  102.                 </LinearLayout>  
  103.   
  104.                 <LinearLayout android:id="@+id/layout_sort2"  
  105.                     android:layout_width="fill_parent"  
  106.                     android:layout_height="wrap_content"  
  107.                     android:orientation="horizontal"  
  108.                     android:layout_gravity="center"  
  109.                     android:gravity="center">  
  110.       
  111.                     <Button android:id="@+id/sortOk"  
  112.                         android:layout_width="wrap_content"  
  113.                         android:layout_height="wrap_content"  
  114.                         android:text="确定"  
  115.                         android:layout_margin="5px"/>  
  116.           
  117.                     <Button android:id="@+id/sortCancel"  
  118.                         android:layout_width="wrap_content"  
  119.                         android:layout_height="wrap_content"  
  120.                         android:text="取消"  
  121.                         android:layout_margin="5px"/>  
  122.       
  123.                 </LinearLayout>  
  124.                   
  125.             </LinearLayout>  
  126.               
  127.         </ScrollView>   
  128.           
  129.     </LinearLayout>  


通过修改 RadioButtonandroid:layout_marginLeftandroid:layout_marginTop属性实现


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值