JAVA - При изменении цвета меняется размер элемента
Проблема заключается, что при смене цвета кнопки происходит то ли смещение, то ли изменение стиля, как проверить и исправить, и почему цвет так дурно влияет?
if(countChose > 0) {
butCreate.setText(getString(R.string.b_delete));
butCreate.setBackgroundColor(getResources().getColor(R.color.colorPrimaryRed));
butCreate.setId(R.id.b_delete);
} else {
butCreate.setText(getString(R.string.b_create));
butCreate.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
butCreate.setId(R.id.b_add);
}
Ответы (1 шт):
Автор решения: Сергей Бувака
→ Ссылка
Из того что я вижу на вашей картинке к зеленым кнопкам применен drawable файл со стилем кнопки. Этот самый drawable задается параметром setBackground() (скорее всего в вашем случае в XML разметке). А потом вы в коде меняете этот параметр background на простую заливку цветом, вот в этом ваша и проблема.
Решение в том, чтоб либо для другого цвета создать второй drawable с другим цветом и тем же параметрами и применить его вместо цвета. Можно еще попробовать такое решение
Drawable unwrappedDrawable = AppCompatResources.getDrawable(context, R.drawable.my_drawable);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, Color.RED);

