Как установить цвет фона представления - PullRequest
166 голосов
/ 01 февраля 2010

Я пытаюсь установить цвет фона для просмотра (в данном случае для кнопки).

Я использую этот код:

// set the background to green
v.setBackgroundColor(0x0000FF00 );
v.invalidate();

Это заставляет кнопку исчезать с экрана. Что я делаю не так, и как правильно изменить цвет фона в любом представлении?

Спасибо.

Ответы [ 16 ]

4 голосов
/ 12 мая 2017
mButton.setBackgroundColor(getResources().getColor(R.color.myColor));
4 голосов
/ 10 декабря 2010

Этот вопрос говорит об изменении цвета фона представления. В одном из ответов человек объясняет, как изменить цвет фона во время выполнения. Очевидно, вы собираетесь изучить, как изменять другие объекты на экране, но это должно дать вам хорошее начало, по крайней мере, позволив вам изменить цвет фона представления при нажатии кнопки.

3 голосов
/ 02 июня 2016

Заявление с Android 6 использовать ContextCompact

        view.setBackgroundColor( ContextCompat.getColor(this, R.color.your_color));
2 голосов
/ 02 сентября 2018

Вы можете просто использовать:

view.setBackgroundColor(Color.rgb(0, 198, 255));
0 голосов
/ 10 марта 2019

Предположим, у нас есть основной цвет в values=>colors.xml как:

<resources>
    <color name="primary">#FDD835</color>
</resources>

, поэтому, если мы хотим использовать наш собственный цвет в setBackgroundColor(@ColorInt int Color), нам просто нужна аннотация @SuppressLint("ResourceAsColor") с конструктором / методом, который будет использоваться как:

    @SuppressLint("ResourceAsColor")
    public _LinearLayout(Context context) {
        super(context);

        // Formatting our layout : )
        super.setBackgroundColor(R.color.primary);

        ....


    }
0 голосов
/ 08 марта 2019
view.setBackgroundColor(R.color.primaryColor);

Добавляет цвет к предыдущему значению цвета, поэтому у меня другой цвет.

Что работает для меня:

view.setBackgroundResource(R.color.primaryColor);
...