позволяет предположить, что вы хотите setBackgroundColor для представления, например linearLayout .
если вы хотите, чтобы его цвет фона был постоянным , вы можете использовать getColor () , чтобы установить определенный цвет .
но если вы хотите, чтобы его цвет изменялся в различных состояниях и событиях , таких как нажатое состояние или не нажатое состояние , вам нужно установить идентификатор ресурса для xml файл, содержащий код для этих задач по изменению цвета.
вот что я говорю в коде:
linearLayout.setBackgroundColor(getResources().getColor(R.color.red);
строка кода выше устанавливает постоянный цвет linearLayout на красный.
linearLayout.setBackgroundTintList(getResources().getColorStateList(R.drawable.layout_background));
и эта строка кода, приведенная выше, установит красный цвет фона при нажатии макета и белый при отсутствии нажатия.
layout_background.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="@color/red" />
<item android:state_pressed="false"
android:color="@color/white" />
</selector>