Как программно получить текущий цвет фона экрана?
Пишу простую программу на kotlin. Создаю приложение, в котором один экран. Цвет экрана - белый, текстовые поля имеют разные цвета и размеры. Также на экране есть 2 кнопки: Refresh и Roll back. При нажатии на Refresh цвет фона меняется на синий, цвета и размеры TextView тоже изменяются. При нажатии на Roll back всё должно откатываться к первоначальному состоянию (белый экран, текстовые поля такие же, как при старте программы). Подскажите, пожалуйста, как можно в коде, предположим, MainActivity получить цвет фона экрана (background)? Задумка такая: получаю цвет фона при старте программы, затем передаю его через SharedPreferences, чтобы при нажатии на кнопку Roll back установить такой же цвет фона. корневой элемент экрана называется root_srl. Пробовал что-то вроде root_srl.getBackground(), но ничего похожего не нашёл
Ответы (1 шт):
Вы можете получить цвет вашей корневой View таким образом:
int color = Color.TRANSPARENT;
Drawable background = view.getBackground();
if (background instanceof ColorDrawable)
color = ((ColorDrawable) background).getColor();