2012-09-04 68 views
1

我在Radio組中有兩個RadioButton,看起來像這樣。 enter image description here居中RadioButtons

   <RadioGroup 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal" > 

        <RadioButton 
         android:id="@+id/rb_PubAsMe" 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:layout_weight="1" 
         android:checked="true" 
         android:text="Self" 
         android:textColor="#000000" /> 

        <RadioButton 
         android:id="@+id/rb_PubAsTeam" 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:layout_weight="1" 
         android:text="Team" 
         android:textColor="#000000" /> 
       </RadioGroup> 

默認情況下,Android的證明左邊,我想有這些按鈕居中。當我嘗試將每個按鈕的重心設置到中心時,會發生以下情況。

enter image description here

相同的代碼,但他補充說這一行給每個單選按鈕

android:gravity="center" 

有沒有人遇到這個問題?我怎樣才能讓按鈕移動到文本的中心?

|---------(Button)Text---------|---------(Button)Text---------| 
+0

'android:layout_gravity =「center」' –

+0

我試過這個,什麼都不做。 –

+0

您可否詳細說明「我怎樣才能讓按鈕和文字移動到中心?」一種公開的解釋。 –

回答

1

這是怎麼回事?

Centered RadioButtons

我用了幾不可見的單選按鈕 「隔層」。 (下面的代碼)


我也嘗試過多種組合,只有一個「隔離」 ......(我在一個快速的嘗試模仿你的配色方案切換到「光」的主題。)

White Centered Buttons

但是,頂部圖像看起來比底部圖像更集中和平衡。


這是頂部佈局的代碼。

<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:orientation="horizontal" > 

    <RadioButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:visibility="invisible" /> 

    <RadioButton 
     android:id="@+id/rb_PubAsMe" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:checked="true" 
     android:text="Self" /> 

    <RadioButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:visibility="invisible" /> 

    <RadioButton 
     android:id="@+id/rb_PubAsTeam" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Team" /> 

    <RadioButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:visibility="invisible" /> 

</RadioGroup> 

如果你喜歡的底部圖像只需取下第一和最後一個「間隔」,並刪除layout_weight屬性。希望有所幫助!

+0

好戲!我想出了一個辦法,看起來很相似,但我會嘗試一下你的方法。 –

+0

你用了什麼? – Sam

+0

我使用了上面的答案,對邊距進行了一些修改。第二個RadioButton的文字長短不一,所以我不得不調整。 –

1

我已修改您的代碼。

<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:orientation="horizontal" > 

    <RadioButton 
     android:id="@+id/rb_PubAsMe" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:checked="true" 
     android:text="Self" 
     android:textColor="#000000" /> 

    <RadioButton 
     android:id="@+id/rb_PubAsTeam" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Team" 
     android:textColor="#000000" /> 

</RadioGroup> 

它可以根據需要

+0

我相信你錯過了RadioButton之間的空間。 – Sam

+0

沒錯。我錯過了這一點。我的代碼將它們置於主佈局中,但左右邊距與按鈕之間的空間不同。 –

0

我能想到的唯一的解決辦法是以下幾點:

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:weightSum="2" 
    android:orientation="horizontal"> 

    <RelativeLayout 
     android:layout_height="wrap_content" 
     android:layout_width="0dp" 
     android:layout_weight="1" > 
     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="true" 
      android:layout_centerVertical="true"/> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" /> 
    </RelativeLayout> 

    <!-- Repeat the above RelativeLayout --> 
</LinearLayout> 

你不能把一個RadioGroup中的按鈕這種方式,但它看起來就像你想要它看起來一樣。