Получить цвет от плавающей кнопки действия и использовать его для изменения цвета фона в тексте редактирования
Мне было интересно, есть ли способ изменить цвет фона объекта edittext, нажав на плавающую кнопку действия. Теперь мне не нужен код для настройки цветов или чего-либо подобного, только часть, которая включает в себя сохранение цвета с плавающей кнопки действия и назначение его цвету фона объекта edittext.
Я попробовал решение по этой ссылке: Как получить цвет фона кнопки. Действие клика зависит от цвета фона
Ссылка выше работает только для обычной кнопки, но для плавающей кнопки действия я получаю сообщение об ошибке:
android.support.design.widget.ShadowDrawableWrapper cannot be cast to android.graphics.drawable.ColorDrawable
Есть ли у меня способ привести Color Drawable к FAB, чтобы сделать то, что я пытаюсь сделать выше?
Вот что я попробовал:
FloatingActionButton btnTag = new FloatingActionButton(R.id.some_button);
ColorDrawable someColor = (ColorDrawable) btnTag.getBackground();
int colorId = someColor.getColor();
//Then set edittext's background color to same color as FAB with id some_button
EditText et= new EditText(R.id.some_et);
et.setBackgroundColor(colorId);
Но это, похоже, не работает, возможно, из-за того, как отображается FAB, в отличие от обычной кнопки, которая имеет квадратную форму и не имеет закругленных углов. Поэтому мне было интересно, есть ли способ отредактировать предоставленный мною код, чтобы он работал как положено?
Любая помощь будет оценена.
Изменить: я заранее упомянул, что мне нужно, чтобы он работал на API 11 и выше.
1 ответ
FloatingActionButton btnTag = new FloatingActionButton(R.id.some_button);
Drawable background = btnTag.getContentBackground();
EditText et= new EditText(R.id.some_et);
et.setBackground(background);