2015-02-10 44 views
1

我正在嘗試使用兩個單選按鈕在水平和垂直中心的RadioGroup。但我也希望他們保持與他們的電臺保持一致,因爲他們有不同的文字長度。我用這個代碼,但它們不是相互排斥的:在RadioGroup中使用RelativeLayout使RadioButtons不是唯一的

 <RadioGroup 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center"> 

      <RelativeLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="center|center_vertical"> 

       <RadioButton 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/rbtn_gps_to" 
        android:text="to" 
        android:checked="true" 
        /> 


       <RadioButton 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/rbtn_gps_from" 
        android:text="from" 
        android:layout_below="@+id/rbtn_gps_to" 
        /> 


      </RelativeLayout> 


     </RadioGroup> 

它的工作原理,我想兩者都一致,但問題是,當我檢查一個,然後我檢查外,第一個支柱也檢查,所以他們不是唯一的。當我刪除相對佈局時,單選按鈕是排他性的。有什麼方法可以創建我想要的佈局,而單選按鈕仍然是排他性的?

回答

1

以前的答案包含了一些問題。要選擇的點不在一列中,它們沒有對齊。這是類似你的解決方案。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
    <RadioGroup 
      android:layout_width=" wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:orientation="vertical"> 
     <RadioButton android:id="@+id/rbtn_gps_to" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="to"/> 
     <RadioButton android:id="@+id/rbtn_gps_from" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="from"/> 
    </RadioGroup> 
</RelativeLayout> 
+0

如果使用它,則不會顯示按鈕。如果我通過match_parent更改佈局寬度換行內容,它們顯示在左側,它們不在中心水平 – Ilenca 2015-02-10 09:29:50

+0

因此,讓我們嘗試我的新解決方案 – 2015-02-10 09:34:03

+0

RadioButton擴展了LinearLayout,它的行爲是相同的。如果你想做一些特殊的事情,你必須添加額外的佈局 – 2015-02-10 09:40:14

0

嗨使用下面的以下內容:

<RadioGroup 
    android:id="@+id/radio_group_1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 

    android:orientation="vertical" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <RadioButton 

     android:id="@+id/rbtn_gps_from" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingRight="20dp" 
     android:text="from" /> 

    <RadioButton 
     android:id="@+id/rbtn_gps_to" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingRight="20dp" 
     android:text="to" /> 
</RadioGroup> 
+0

它將RadioButton放在最上面。我需要他們在中心水平和垂直。他們也沒有對齊他們的無線電 – Ilenca 2015-02-10 09:24:19

+0

我編輯和上面是通過單選按鈕對齊:) – 2015-02-10 09:40:31

+0

現在他們是整數的中心,但沒有對齊他們的電臺:( – Ilenca 2015-02-10 09:43:51

0

是的,你可以做你需要radioGroup中的XML屬性設置爲垂直佈局。

<RadioGroup 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     android:gravity="center"> 

      <RadioButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/rbtn_gps_to" 
       android:text="to" 
       android:checked="true" 
       /> 


      <RadioButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/rbtn_gps_from" 
       android:text="from" 

       /> 

    </RadioGroup> 
+0

問題在於它們處於中央位置但未對齊收音機 – Ilenca 2015-02-10 09:31:04

相關問題