Chip chip = new Chip(context);
chip.setBackgroundcolor(getResources().getColor(R.color.blue));

La ligne ci-dessus donne l'erreur:

java.lang.UnsupportedOperationException: Do not set the background resource; Chip manages its own background drawable.
5
Ganesh Acharya 20 nov. 2018 à 15:32

3 réponses

Meilleure réponse

Vous pouvez définir la couleur d'arrière-plan de la puce de matériau en suivant la ligne (Kotlin)

chip.chipBackgroundColor = getColorStateList(/*your preferred color*/)
10
Ravi Kumar 20 nov. 2018 à 13:12

Pour Kotlin, vous devez utiliser ceci:

chip.chipBackgroundColor = ColorStateList.valueOf(ContextCompat.getColor(context, R.color.yourColor))

Pour Java:

chip.setChipBackgroundColor(ColorStateList.valueOf(ContextCompat.getColor(context, R.color.yourColor)));
11
Mertcan Seğmen 15 déc. 2019 à 13:17

Utilisez la méthode setChipBackgroundColorResource :

chip.setChipBackgroundColorResource(R.color.chip_selector_color);

Sinon, utilisez la méthode setChipBackgroundColor

chip.setChipBackgroundColor(AppCompatResources.getColorStateList(context, R.color.chip_selector_color));
2
Ljdawson 3 mars 2020 à 19:10