2016-04-05 17 views
1

上の画像を使用したカスタムのRadioButtonを作る私はこのように見えるようにしようというのが私のカスタムのRadioButtonにしようとしている:は中央

Expected Result

だから私は、ラジオボタンの状態に対応するカスタムドローアブルを行なったし、使用しますそれを背景として。これは大丈夫です。

問題は、android:buttonアトリビュートで設定した画像を中央に配置できないことです。

ここで私は自分のレイアウトでそれを使用しようとしています。これにより

<RadioGroup 
     android:id="@+id/presenter_options" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:padding="4dp" 
     android:gravity="center" 
     > 

     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:button="@drawable/cluster_centered" 
      android:gravity="center" 
      android:padding="8dp" 
      android:background="@drawable/presenter_radiobutton_left" 
      /> 

     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:padding="8dp" 
      android:background="@drawable/presenter_radiobutton_right" 
      android:button="@drawable/fire" 
      /> 

</RadioGroup> 

私は、結果としてこれを取得しています:

Actual result

私はすでに中央に重心を設定し、描画可能を定義しようとしたが、何も変わっていません。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <bitmap android:src="@drawable/cluster" android:gravity="center"/> 
    </item> 
</selector> 

ここで、どのようにボタン画像を中央に配置できますか?

PS:将来的にはダイナミックになるため、各種類のボタンをバックグラウンドで設定することはできません。バックグラウンドになる可能性があるのは青い形だけです。

答えて

1

私の解決策は、android:[email protected]に設定してから、android:drawableLeft属性に画像を設定することでした。だから私のRadioButtonコードは次のようなものです:

<RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:padding="8dp" 
      android:background="@drawable/presenter_radiobutton_left" 
      android:button="@null" 
      android:drawableLeft="@drawable/fire" 
      /> 
関連する問題