Как изменить цвет кнопки переключения в Android - PullRequest
0 голосов
/ 13 июня 2018

У меня есть эта кнопка Switch

<Switch
    android:id="@+id/switch"
    android:layout_width="300dp"
    android:layout_height="wrap_content"
    android:text="some text"
    android:textColor="@color/foreground" />

Как я могу изменить цвет кнопки, когда кнопка отмечена по умолчанию для моего цвета?

Обновление:

Я пробовал это решение: Изменить "вкл" цвет переключателя

, но когда я переключаюсь с Switch на SwitchCompat, я не вижу никаких кнопок Switch больше

К вашему сведению, я использую <style name="AppTheme" parent="Theme.Leanback">

1 Ответ

0 голосов
/ 13 июня 2018

Я решил проблему, изменяя цвет кнопки переключения программно

int myColor = getResources().getColor(R.color.myColor);
int defaultColor = getResources().getColor(R.color.defaultColor);

public void changeSwitch(View view) {
    boolean checked = ((Switch) view).isChecked();
    if (checked) {
        ((Switch) view).getThumbDrawable().setColorFilter(myColor,
                PorterDuff.Mode.MULTIPLY);
        ((Switch) view).getTrackDrawable().setColorFilter(myColor,
                PorterDuff.Mode.MULTIPLY);
    } else {
        ((Switch) view).getThumbDrawable().setColorFilter(defaultColor,
                PorterDuff.Mode.MULTIPLY);
        ((Switch) view).getTrackDrawable().setColorFilter(defaultColor,
                PorterDuff.Mode.MULTIPLY);
    }
}
...