2013-08-28 9 views
7

ラジオボタンのアイコンを非表示にする必要があります:アイコンではなく、テキストのみで表示されます(setInvisibleもテキストを非表示にします)。アイコンは、テキストが他のラジオボタンのテキストと整列するようにスペースを取る必要があります。また、ラジオボタン(そのテキスト)はクリック可能でなければなりません。ラジオボタンのアイコンを非表示にしますが、テキストを非表示にします

言い換えれば、私が望むのは、アイコンが「透明」(見えない)であることですが、そうでなければ「そこに」あります:クリック可能で、スペースを占有します。

私はこれをプログラムではなく、XMLで行う必要があります。

アイデア?

+1

を削除します設定します。 –

+0

@ MBennettありがとうございますが、それはXMLです。私はJavaのそれに相当する必要があります –

+0

@PhilippJahoda良いアイデアですが、私の場合、ボタンを "ノーアイコン"から "ノーアイコン"に戻して、バック –

答えて

21

XML:

<RadioButton 
    android:paddingLeft="31dp" 
    android:button="@android:color/transparent" /> 

ジャワ:

RadioButton myButton = (RadioButton) findViewById(R.id.radio); 
    myButton.setButtonDrawable(android.R.color.transparent); 
    myButton.setPadding(31, 0, 0, 0); 

setPadding()が必要ようにパディングを調整 が[email protected]を参照して、ピクセル単位でパディングを表す整数値をとります。

+0

@ MBennettありがとうので、私の場合は適用が難しいです。 '' 31dp "(文字列)が' setPadding'の最初の引数として許されない点を除いて、動作します。私は '31 * getResources()。getDisplayMetrics()。density + 0.5f'に変更して、31dpからピクセルに変換しました。 –

+1

34dp(ピクセルに変換)はAndroid 4.0で動作するようですが、2.3では若干大きな値が必要です –

+0

これは私のために動作します ' myButton.setButtonDrawable(android.R.color.transparent); 'myButton.setButtonDrawable(null);'ありがとうございました。 – CrandellWS

1

android:button="@null"あなたはテキストなしで、それの左側のRadioButtonの記述を含むのTextViewにRadioButtonコントロールを作成することができ、デフォルトのラジオアイコン

<RadioButton 
    android:id="@+id/rb1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:button="@null" 
    android:text="Female" /> 
関連する問題