Intereting Posts
Эмулятор Android использует 100% -ный процессор, даже если ничего не работает на нем? Легенда и набор полей в android Android: LocationManager динамически регулирует пороговые значения minTime / minDistance Android EGL / OpenGL ES Частота кадров заикания Дооснащение + RxJava не кэширует ответы, подозрительные заголовки ответов Транзакции сохраняются в буфере (SDK для Google Analytics для Android) Eclipse – плагин ADT не автозаполнение Могу ли я запустить службу из приложения # onCreate ()? Обновить Android ListActivity при изменении данных списка? Запуск приложения с мгновенным запуском Android-студии очень медленный TabLayout (Библиотека дизайна Android) Цвет текста Скрытие ключа шифрования в приложении для Android Является ли Google Play Music преследованием всех действий ACTION_MEDIA_BUTTON? Android Studio – невозможно найти действительный путь сертификации для запрошенной цели Расположение Android Layout слева и справа в горизонтальной компоновке

Изменить цвет переключателя на Android

Я пытаюсь изменить цвет моего переключателя в Android. Я понимаю, что мне понадобятся новые 9 патчей. Я перешел на сайт http://android-holo-colors.com/ и выбрал свой цвет и выбрал (Switch Jelly Bean). Чтобы использовать Switch Jelly Bean, мне пришлось использовать: https://github.com/BoD/android-switch-backport . Чтобы импортировать его в свой проект, мне пришлось добавить:

<item name="switchStyle">@style/Widget.Holo.CompoundButton.Switch</item>

К моим стилям, а затем в xml я должен использовать переключатель так:

<org.jraf.android.backport.switchwidget.Switch android:layout_width="wrap_content" android:layout_height="wrap_content" />

Теперь все с коммутатором работает нормально. Затем я взял все, что было выведено из генератора цветных головоломок android, и поместил его в соответствующие файлы:

  • Drawable (2 файла селектора)
  • Drawable-hdpi (файлы 9patch)
  • Drawable-xhdpi (файлы 9patch)
  • Drawable-xxhdpi (файлы 9patch)

Затем я добавил в свой xml:

<org.jraf.android.backport.switchwidget.Switch android:layout_width="wrap_content" android:layout_height="wrap_content" android:thumb="@drawable/apptheme_switch_inner_holo_light" android:track="@drawable/apptheme_switch_track_holo_light" />

Но это все еще оригинальный синий цвет. Я считаю, что делаю все правильно. Все компилируется (xml, java). Примечание. Я импортирую org.jraf.android.backport.switchwidget.Switch в моей java. Есть идеи?

Solutions Collecting From Web of "Изменить цвет переключателя на Android"

В соответствии с этим (прямой ответ от копирования-пасты BoD):

  • Вы не должны использовать android:thumb и android:track , но вместо этого app:thumb и app:track И вы должны добавить следующее в корень вашего XML-документа:

    xmlns:app="http://schemas.android.com/apk/res-auto"

Самый простой способ в Android Lollipop и выше,

 <style name="AppTheme" parent="MaterialTheme.Light"> ... <item name="android:colorControlActivated">@color/color_switch</item> </style> 

Попробуй это:

switch_thumb.xml

  <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:drawable="@drawable/switch_thumb_holo_light" /> <item android:state_pressed="true" android:drawable="@drawable/switch_thumb_activated_holo_light" /> <item android:state_checked="true" android:drawable="@drawable/switch_thumb_activated_holo_light" /> <item android:drawable="@drawable/switch_thumb_holo_light" /> </selector> 

В макете переключателя:

 android:thumb="@drawable/switch_thumb" 

Для изменения цвета переключателя вы можете использовать два изображения

  1. Зеленый – когда переключатель включен
  2. Красный – когда переключатель выключен

Теперь поместите этот файл в папку с возможностью переноса

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

И в XML-файле макета используйте его как ниже

 <CheckBox android:id="@+id/user_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@drawable/notif_checkbox_selector" /> 

Возможно, вам нужно положить

 style="@style/switchStyle" 

В вашем XML также