2012-08-09 10 views
7

したがって、次のラジオボタンがあります。私は彼らがこのように表示させたい:画面に長すぎる場合は水平ラジオボタンをラップします

enter image description here

しかし、これが発生します。

私はそれが上記のように表示するために取得できますか

radiogroup problem


EclipseのGUIエディタで移動できますが、RadioGroupをRadioGroupから削除します!
グループ内では、他のすべてのレイアウトパラメータは無視されます。

<RadioGroup 
    android:id="@+id/radioGroup1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/timeBar" 
    android:layout_marginTop="43dp" 
    android:orientation="horizontal" > 

    <RadioButton 
     android:id="@+id/privRadio0" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Everyone" /> 

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


<RadioButton 
    android:id="@+id/privRadio2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Friends" /> 
</RadioGroup> 

答えて

2

あなたが求めているのはFlowLayoutです。そのようなレイアウトには、0gravityのより静的なソリ​​ューションとは対照的に、必要なときにのみラップするという利点があります。

+0

興味深い、内部でこれを使用することが可能ですラジオグループ? – TheRealKingK

+0

私は信じていませんが、ラジオボタンをグループに割り当てることなくラジオボタンを使用することは可能です。 –

+0

@TheRealKingK:RadioGroupをサブクラス化し、FlowLayoutと同様にonMeasure()およびonLayout()関数を実装すると、探しているソリューションが得られます。このページで私の解決策を見てください。 –

4

あなたは、単にこのクラスをコピーすることができます。プロジェクト内の適切なパッケージに

https://github.com/jevonbeck/AbstractMachine/blob/jevon_dev/app/src/main/java/org/ricts/abstractmachine/ui/utils/MultiLineRadioGroup.java

などのようなXMLでインスタンス化:

<view 
    class="mypackage.packagepath.MultiLineRadioGroup" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"/> 
+0

偉大なコードのように見えますが、RadioGroupのRadioButtonの余白には本当に対応していません。 – welshk91

関連する問題