Подтвердить что ты не робот

Андроид установить кнопку фон программно

Я хотел бы знать, как установить цвет кнопки программно? Я закодировал следующее, но не смог:

Button11.setBackgroundColor(R.color.red);

Спасибо!!

4b9b3361

Ответ 1

R.color.red - это идентификатор (который также является int), но не является цветом.

Вместо этого используйте один из следующих вариантов:

// If you're in an activity:
Button11.setBackgroundColor(getResources().getColor(R.color.red));
// OR, if you're not: 
Button11.setBackgroundColor(Button11.getContext().getResources().getColor(R.color.red));

Или, альтернативно:

Button11.setBackgroundColor(Color.RED); // From android.graphics.Color

Или, для более профессиональных навыков:

Button11.setBackgroundColor(0xFFFF0000); // 0xAARRGGBB

Ответ 2

Старый поток, но узнал что-то новое, надеюсь, что это может помочь кому-то.

Если вы хотите изменить цвет фона, но сохраните другие стили, то ниже может помочь.

button.getBackground().setColorFilter(ContextCompat.getColor(this, R.color.colorAccent), PorterDuff.Mode.MULTIPLY);

Ответ 3

button.setBackgroundColor(getResources().getColor(R.color.red);

Устанавливает цвет фона для этого вида. Параметры: цвет цвета фона

R.color.red - это ссылка, сгенерированная при компиляции в гене.