Считывание цвета заднего фона
Как считать цвет заднего фона элемента? Я создал приложение и мне нужно заменить цвет заднего фона на другой используя if-else Для примера: есть 3 элемента при нажатии на 1-го с них открываеться окно с синим цветом и с определенными элементами, при нажатии на 2-й открываеться тоже самое окно но с красным цветом и с другими элементами, но как считать задний фон, я не знаю... Пробывал так:
if(bgColor.equals("#FFFF")){
//text.setText("1");
}
Мне нужно считать цвет, а не подставлять по нажатию так как у меня по дргому код работает
Ответы (1 шт):
Предположим, у вас есть containerView цвета #EBAEBA, в котором есть textView:
<FrameLayout
...
android:id="@+id/containerView"
android:background="#EBAEBA">
<TextView
...
android:id="@+id/textView"
android:text="Hello World!" />
</FrameLayout>
Чтобы вычитать цвет фона контейнера, нужно привести фон к типу ColorDrawable, далее вытащить цвет фона и сравнить его числовым значением цвета #EBAEBA:
ColorDrawable background = (ColorDrawable) containerView.getBackground();
if (background.getColor() == Color.parseColor("#EBAEBA")) {
textView.setText("Цвет #EBAEBA");
} else {
textView.setText("Другой цвет");
}