2010-04-26 4 views
11

Я работаю над андроидной формой с радиогруппой, содержащей набор переключателей. Из того, что я могу сказать, нет способа установить цвет, который выделяется при выборе. Кажется, что всегда по умолчанию используется ярко-зеленый цвет. Это что-то редактируемое или нет?Любой способ изменить цвет переключателя?

Благодаря

+0

Я думаю, что это Лил немного поздно, чтобы дать вам ansewr, но вы можете проверить мой ansewr на этот вопрос: HTTP: // StackOverflow. com/a/35610511/1663453 – Sierisimo

ответ

9

Да, вы можете создать свой собственный Drawable за то, что вы хотите, чтобы это выглядело как при проверке и использовании Android: кнопку, чтобы установить его на ресурс.

Example here

0

На уровне апи 21+ вы можете изменить buttonTint

<RadioButton 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/myId" 
android:checked="true" 
android:buttonTint="@color/accent"/> 
+0

И в API менее 21 или при использовании совместимости: http://stackoverflow.com/a/35610511/1663453 – Sierisimo

1

Использование AppCompatRadioButton вместо RadioButton.

<android.support.v7.widget.AppCompatRadioButton 
     android:id="@+id/rb" 
     app:buttonTint="@color/colorAccent" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

Чтобы изменить цвет программно это сделать:

ColorStateList colorStateList = new ColorStateList(
       new int[][]{ 
         new int[]{android.R.attr.state_enabled} //enabled 
       }, 
       new int[] {getResources().getColor(R.color.colorPrimary) } 
     ); 

AppCompatRadioButton radioButton = (AppCompatRadioButton) findViewById(R.id.rb); 
radioButton.setSupportButtonTintList(colorStateList); 
Смежные вопросы