2012-02-15 4 views
5

ラジオボタンのスタイルを設定しようとしているため、セレクタを作成しました。標準のラジオボタンの画像を表示する以外はすべて動作します。デフォルトのラジオボタンのチェックボックスを削除するにはどうすればいいですか?私はdrawableを空の文字列に割り当てようとしましたが、コンパイラはそれを好きではありません。ここでカスタムセレクタを使用しているときにデフォルトのラジオボタンのチェックボックスを外す

は、私の選択状態の一つのコードです:

<item android:state_checked="true" android:drawable=""> 
    <shape> 
     <gradient 
      android:startColor="#808080" 
      android:centerColor="#2F2F2F" 
      android:endColor="#2F2F2F" 
      android:angle="270" /> 
     <stroke 
      android:width="2dp" 
      android:color="@color/black" /> 
     <corners 
      android:radius="5dp" /> 
    </shape> 
</item> 
+1

なぜあなたはすべて一緒に描画可能を削除しようとしているのではnullにボタンの値は設定されていますか?あなたのニーズに合ったものに置き換えることができますか? – Flynn

+0

ラジオボタンの機能が欲しいですが、ボタンのように見せたいと思っています。具体的には、2つのボタンを並べて、お互いに切り替えることができます。ボタンの1つが下に表示され、もう一方が上に表示されます。私がどこに向かうより良い解決策がありますか? –

+2

私は実際には、次のアンドロイド:button = "@ null"でデフォルトのチェックボックスを削除できることがわかりました –

答えて

19

私は、セレクタのデフォルトのラジオボタン、チェックボックスを削除することはできませんことがわかりました。私は、それがラジオボタン自体のスタイルまたは定義のいずれかで、nullに "ボタン"プロパティを割り当てることによって削除できることを発見しました。

以下はスタイルを使用した例です。

<RadioButton 
    android:id="@+id/myRadioButton" 
    style="@style/RadioButtonStyle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/custom_radio_button"/> 

<style name="RadioButtonStyle" parent="@android:style/Widget.CompoundButton"> 
    <item name="android:background">@drawable/radiobutton_selector</item> 
    <item name="android:button">@null</item> 
</style> 

radiobutton_selectorは、異なるチェック状態でボタンを描画するセレクタを定義します。ここでチェックされた状態は、次のとおりです。

<item android:state_checked="true"> 
    <shape> 
     <gradient 
      android:startColor="@color/titleButtonCheckedGradientLight" 
      android:centerColor="@color/titleButtonCheckedGradientDark" 
      android:endColor="@color/titleButtonCheckedGradientDark" 
      android:angle="270" /> 
     <stroke 
      android:width="1dp" 
      android:color="@color/titleButtonBorder" /> 
     <corners 
      android:radius="5dp" /> 
    </shape> 
</item> 
+0

あなたのコードはradioGroup.getCheckedRadioButtonId()関数を取得していないようです......... – Prativa

+0

ベストアンサーこれまでのところ – Devon

26

レイアウトXML

android:button="@null" 
+3

あなたの答えをありがとう。私は私の質問の2012年2月15日のコメントからもわかるように、これを見つけました。 –

関連する問題