2016-09-16 3 views
1

どうすればいいですか?ラジオボタンの色とテキストの色は、選択したときに変更されます

maleRadioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if (isChecked) { 
        maleRadioButton.setTextColor(getApplicationContext().getResources().getColor(R.color.colorPrimary)); 
       } else { 
        maleRadioButton.setTextColor(getApplicationContext().getResources().getColor(R.color.lightGray)); 
       } 
      } 
     }); 

と私は<item name="android:buttonTint">@color/colorAccent</item>を設定しますが、選択されていないラジオボタンがcolorAccent代わりのlightGray

任意のアイデアです:

enter image description here

これは私がテキストの色を変更するために使用何ですか?

+1

drawableにセレクタを実装しようとしましたか? –

+0

StateListを使用します –

+0

いいえこの場合、どのようにしてユーザに 'StateList'を渡すことができますか? – y07k2

答えて

2

custom_radio_button.xml

<?xml version="1.0" encoding="utf-8"?> 

    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 

     <item android:state_checked="true" android:drawable="@drawable/checkedradiobutton" /> 
     <item android:state_checked="false" android:drawable="@drawable/unchekedradiobutton" /> 

    </selector> 

を使用して、2つの描画可能ラジオボタン

の選択と選択されていない状態のため、上記のようにセレクタを使用する:

<!-- Customized RadioButtons --> 


       <RadioButton 
        android:id="@+id/radioButtonCustomized1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="Radio Button Selected" 
        android:layout_marginTop="20dp" 
        android:checked="true" 
        android:button="@drawable/custom_radio_button" 
        android:textSize="20dp" /> 

      <RadioButton 
        android:id="@+id/radioButtonCustomized2" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="Radio Button Not Selected" 
        android:layout_marginTop="10dp" 
        android:checked="false" 
        android:button="@drawable/custom_radio_button" 
        android:textSize="20dp" /> 
1

に選択/チェック/フォーカスしたときにテキストの色を変更するandroid:teでこのcolorListを使用する

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="@color/color1" android:state_focused="true" android:state_pressed="false"/> 
    <item android:color="@color/color1" android:state_focused="true" android:state_pressed="true"/> 
    <item android:color="@color/color1" android:state_focused="false" android:state_pressed="true"/> 
    <item android:color="@color/color1" android:state_checked="true"/> 
    <item android:color="@color/color2"/> 
</selector> 

とボタンの背景のためにアンドロイドでこれを使用します:背景:背景のコントラストを作るため

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/color2" android:state_checked="true"/> 
    <item android:drawable="@color/color2" android:state_pressed="true"/> 
    <item android:drawable="@color/color1" android:state_checked="false"/> 
</selector> 

注テキストでchecked_stateとしてカラー1の使用状況やなどunchecked_state ..

ウィジェットのxtColor

私はそれが助けてくれることを願っています。

関連する問題