Получить цвет от плавающей кнопки действия и использовать его для изменения цвета фона в тексте редактирования

Мне было интересно, есть ли способ изменить цвет фона объекта 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);
Другие вопросы по тегам