2012-09-24 18 views
10

ボタンの左側に表示され、その間にいくつかのパディングがあるように、 "ラベル" - あなたが設定したテキストが必要です。私はRadioGroupに続いRadioButton他の何かを追加した場合、私のRadioGroupは動作しませんので、動作しないレイアウトに追加TextViewを追加Androidの余白を付けたラジオボタンの左側のテキスト

(私は複数のボタンを選択することができます)。

だから、どのように私はあなたがandroid:button="@null"を設定し、android:drawableRightとしてRadioButtonの描画可能を追加することによって、これを達成することができますのRadioButtonは<text><buttondrawable>代わりの<buttondrawable><text>

答えて

36

であることを変更することができます。テキストとドロウアブルの間のパディングはandroid:drawablePaddingで変更できます。

<RadioGroup 
     android:id="@+id/radios" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:inputType="text" 
     android:orientation="vertical" > 

     <RadioButton 
      android:id="@+id/first" 
      android:button="@null" 
      android:drawableRight="@android:drawable/btn_radio" 
      android:drawablePadding="20dp" 
      android:layout_width="200dip" 
      android:layout_height="wrap_content" 
      android:text="@string/first" 
      android:textSize="20dip" /> 

     <RadioButton 
      android:id="@+id/second" 
      android:button="@null" 
      android:drawableRight="@android:drawable/btn_radio" 
      android:drawablePadding="20dp" 
      android:layout_width="200dip" 
      android:layout_height="wrap_content" 
      android:text="@string/second" 
      android:textSize="20dip" /> 
    </RadioGroup> 
</RelativeLayout> 
+0

を持つべきですRadioGroup、私はまだ両方を選択することができます。 –

+0

私は自分の答えを更新しました。今すぐ確認してください。 –

+0

ありがとう!非常に巧妙な解決策と私は簡単に 'アンドロイド:drawablePadding'で私が望むパディングを追加することができます。 –

1

上記の答えはイメージに選択状態がないことを示しています。

ことがありますこのヘルプ:あなたはパディングを設定することができます< = 16 APIで

  • は、ラジオボタンのビューの境界にパディング相対を設定するには、ラジオボタンを残しました。さらに、パッチ9のバックグラウンドは、ビューに対してビュー境界を変更します。

  • API 17では、左側のパッドはラジオボタンのドロワブルに関連しています。パッチ9についても同じことが言えます。パディングの違いをよりよく示すために、添付のスクリーンショットを参照してください。

あなたがコードを掘る場合はgetHorizo​​ntalOffsetForDrawablesと呼ばれるAPI 17で新しい方法を見つけるでしょう。このメソッドは、ラジオボタンの左パディングを計算するときに呼び出されます(したがって、画像に示されている追加のスペース)。

TL; DRあなたは、ラジオボタン、あなたがサポートしている分、SDKのスタイルとの中にあるもののうちの2つを持つAPIの別のスタイル17+

答えがthis same questionから@Jamesバカで答えている

+0

エッセンスをコードスニペットに追加してください。将来の読者は、詳細な情報が必要な場合を除き、リンクをたどる必要はありません。 –

+0

また、回答の順番が異なる場合がありますので、ポスターの名前で回答してください。 –

+0

あなたの提案に感謝@JeroenKransen – actsai

関連する問題