2011-03-10 16 views
1

现在我有这种布局(垂直线性布局内的水平相对布局),但我需要单选按钮而不是复选框(用户必须能够选择一个选项)。如何布置视图以便可以使用radiogroup?

enter image description here

<LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     > 
<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dip" 
    android:layout_marginLeft="5dip" 
    android:layout_marginRight="5dip" 
    android:orientation="horizontal"> 

    <ImageView 
     android:src="@drawable/flag_en" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:scaleType="fitCenter" 
     android:layout_alignParentLeft="true" /> 

<TextView 
     android:text="English" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:layout_marginLeft="10dip" 
     android:textStyle="bold" 
     android:textSize="20dip"    
     /> 

     <CheckBox android:id="@+id/checkbox4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"  
     android:layout_alignParentRight="true" 
    /> 

    </RelativeLayout>  

    <RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dip" 
    android:layout_marginLeft="5dip" 
    android:layout_marginRight="5dip" 
    android:orientation="horizontal"> 

    <ImageView 
     android:src="@drawable/flag_dk" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:scaleType="fitCenter" 
     android:layout_alignParentLeft="true" /> 

<TextView 
     android:text="Dansk" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:textStyle="bold" 
     android:textSize="20dip"   
     /> 

     <CheckBox android:id="@+id/checkbox5" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"  
     android:layout_alignParentRight="true" 
    /> 

     </RelativeLayout> 
     <Button 
      android:id="@+id/ang_btn" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="ang" 
     /> 
     </LinearLayout> 

问题是,RadioGroup中必须放置线性布局(未相对的)的内部,所以我不能上述布局中使用。

我怎样才能达到相同的布局(多行,3列,第三列单选按钮),并使用单选按钮radiogroup?

编辑: 我试过罗比旁氏的解决方案(下),我得到这个: enter image description here

我可以使用,如果我可以把单选按钮之间有一些空间,这是drawableLeft。我设法在android:drawablePadding =“10dip”(在我上次截图中没有看到)之间获得drawableLeft和文本之间的一些空间。

回答

3

使用无线组和单选按钮,并使用RadioButton上的android:drawableLeft获取图像。

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <RadioGroup ...> 
     <RadioButton ... android:drawableLeft="@drawable/flag_en" android:text="English" /> 
    </RadioGroup> 
</LinearLayout> 
+0

@DixieFlatline Yeah看起来像你可以使用drawablePadding或只是在文本的开头添加空格。有点烦,你不能指定你想单选按钮而不是左边。 – 2011-03-11 14:08:18

+0

非常感谢,先生,您的解决方案为我工作 – Zia 2014-06-26 07:20:42

相关问题