Андроид установить кнопку фон программно
Я хотел бы знать, как установить цвет кнопки программно?
Я закодировал следующее, но не смог:
Button11.setBackgroundColor(R.color.red);
Спасибо!!
Ответы
Ответ 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
- это ссылка, сгенерированная при компиляции в гене.