2016-09-16 5 views
1

Как это сделать?Цвет и цвет цвета RadioButton при выборе

enter image description here

Это то, что я использую, чтобы изменить цвет текста:

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

Любые идеи?

+1

Вы пробовали реализовать селектор в своем чертеже –

+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> 

Используйте два для вводимого коэффициента выбран и не выбран состояние радиообмена Кнопки

и использовать вышеуказанный селектор как:

<!-- 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

К изменить цвет текста при выборе/проверке/сфокусировать использование этого colorList в android: te xtColor для виджета:

<?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> 

Обратите внимание на использование в качестве цвет1 checked_state в тексте и, как unchecked_state для фона, чтобы сделать контраст ..

Я надеюсь, что это может помочь ».

Смежные вопросы