0

RadioButtonsが2列に表示されているRadioGroupが必要です。しかし、RadioGroupは、RadioButtonsをただ1つの列に表示するように思われます。ボタンを2列に表示する方法はありますか?Android RadioGroup。 1つの列に強制ボタンがありますか?

たとえば、このxmlコードでは、square formに4つのボタンが表示されますが、RadioGroupの内部ではすべてone columnになります。

<RadioGroup 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <RadioButton 
     android:id="@+id/radio1" 
     android:text="Button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    <RadioButton 
     android:id="@+id/radio2" 
     android:text="Button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="42dp" 
     android:layout_marginEnd="42dp" 
     android:layout_alignBottom="@+id/radio1"/> 

    <RadioButton 
     android:id="@+id/radio3" 
     android:text="Button3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/radio1" 
     android:layout_alignLeft="@+id/radio1" 
     android:layout_alignStart="@+id/radio1" 
     android:layout_marginTop="34dp"/> 

    <RadioButton 
     android:id="@+id/radio4" 
     android:text="Button4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/radio3" 
     android:layout_alignLeft="@+id/radio2" 
     android:layout_alignStart="@+id/radio2"/> 
</RadioGroup> 
+2

RadioGroupはLinearLayoutを継承しているので、単純にこれを行うことはできません。 RelativeLayoutをオーバーライドして、その中でいくつかのチェック/チェック解除ロジックを実行できます。 – convexHull

+0

@convexHullそして私はそれを無効にして、これらのボタンを '正方形のフォーム 'として得ることができますか? –

+1

これをチェックしてください。 クラス(RelativeRadioGroupなど)をいくつか作成し、RelativeLayoutを拡張させます。 RadioGroupのソースコードをチェックして、ボタンのチェック/チェック解除の追加ロジックの実装方法を確認してください – convexHull

答えて

1

これは以下のように異なる方法であることができるdone.Howeverラジオグループを使用して複数の列のラジオボタンを表示することができません。

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <RadioButton 
      android:id="@+id/radio1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button1" /> 

     <RadioButton 
      android:id="@+id/radio2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginEnd="42dp" 
      android:layout_marginRight="42dp" 
      android:text="Button2" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <RadioButton 
      android:id="@+id/radio3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button3" /> 

     <RadioButton 
      android:id="@+id/radio4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button4" /> 

    </LinearLayout> 
</LinearLayout> 

すべてのラジオボタンに対してView.onClickListenerを設定し、コード内のチェック設定/チェック解除ステータスを処理します。

関連する問題