2011-11-09 27 views
4

私は2つのラジオボタンを持つラジオグループを持っています。各ボタンにはカスタムセレクタがあります。セレクタのdrawableがラジオボタンの幅を記入したいと思います。解像度が異なると、ボタンが異なって見えます。私は9パッチを使用していないので、これは理にかなっていますが、私がいたとしても、ボタンを引き伸ばす方法をわかりません。以下は、ラジオグループとセレクタのコードです。幅は周囲の手を動かすこととは異なります。ボタンは親ラジオボタンを入力する必要があります

レイアウトXML:

  <RadioButton 
       android:id="@+id/radiomale" 
       android:layout_width="126dp" 
       android:layout_height="50dp" 
       android:minHeight="50dp" 
       android:minWidth="126dp" 
       android:button="@layout/signupmale" 

       /> 

      <RadioButton 
       android:id="@+id/radiofemale" 
       android:layout_width="128dp" 
       android:layout_height="50dp" 
       android:minHeight="50dp" 
       android:minWidth="128dp" 
       android:button="@layout/signupfemale" /> 
     </RadioGroup> 

セレクター:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_checked="true" android:state_window_focused="false" 
    android:drawable="@drawable/genre_male_pressed" /> 
<item android:state_checked="false" android:state_window_focused="false" 
    android:drawable="@drawable/genre_male" /> 
<item android:state_checked="true" android:state_pressed="true" 
    android:drawable="@drawable/genre_male_pressed" /> 
<item android:state_checked="false" android:state_pressed="true" 
    android:drawable="@drawable/genre_male" /> 
<item android:state_checked="true" android:state_focused="true" 
    android:drawable="@drawable/genre_male_pressed" /> 
<item android:state_checked="false" android:state_focused="true" 
    android:drawable="@drawable/genre_male" /> 
<item android:state_checked="false" android:drawable="@drawable/genre_male" android:scaleType="fitXY" /> 
<item android:state_checked="true" android:drawable="@drawable/genre_male_pressed" android:scaleType="fitXY"/> 
</selector> 

ギャップがボタンとの間に形成する、異なる解像度の下でテストする際に問題があります。助けてくれてありがとう。

答えて

7

RadioGroupは実際にはLinearLayoutのサブクラスです。そのため、レイアウトの重みを使用して間隔を制御することができます。あなたがninepatch使用し、多分パディングが左または右のラジオボタン上のテキストがある場合に使用する必要があるとしているLinear Layout and weight in Android このAndroid layout_weight comportment

<RadioGroup 
     android:layout_width="match_parent" 
     android:layout_height="45dip" 
     android:weightSum="1" 
     android:orientation="horizontal" 
     > 

     <RadioButton 
      android:layout_width="match_parent" 
      android:layout_height="40dip" 
      android:layout_weight=".5" 
      /> 

     <RadioButton 
      android:layout_width="match_parent" 
      android:layout_height="40dip" 
      android:layout_weight=".5" 
      /> 

    </RadioGroup> 

:これは少し役に立つかもしれません。

+0

ご回答いただきありがとうございます。ラジオボタンとネストされたボタンの両方にレイアウトウェイトとウェイト値を追加しようとしました。 – Maurycy

+1

ボタンがfill_parentに伸びる方法に応じてlayout_widthまたはheightを設定していることを確認してください – sgarman

+0

ボタンに9個のパッチを使用します。ボタンの部分が伸縮しにくいので、これを避けてください:(お返事ありがとうございます。) – Maurycy