Reputation: 313
Chip chip = new Chip(context);
chip.setBackgroundcolor(getResources().getColor(R.color.blue));
The above line gives the error:
java.lang.UnsupportedOperationException: Do not set the background resource; Chip manages its own background drawable.
Upvotes: 21
Views: 24085
Reputation: 5173
In Kotlin
chip.chipBackgroundColor = ContextCompat.getColorStateList(this.context,R.color.**yourcolorid**)
Upvotes: 0
Reputation: 469
use backgroundTint in xml
<com.google.android.material.chip.Chip
android:id="@+id/timetext_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="40dp"
android:layout_weight="1"
android:backgroundTint="#39b8db"
android:gravity="center"
android:padding="5dp"
android:text="Time"
android:textAlignment="center"
android:textColor="@color/white" />
Upvotes: 1
Reputation: 89
chip.setChipBackgroundColor(getResources().getColorStateList(R.color.Green));
Upvotes: 6
Reputation: 363667
Use the method setChipBackgroundColorResource
:
chip.setChipBackgroundColorResource(R.color.chip_selector_color);
Otherwise use the method setChipBackgroundColor
chip.setChipBackgroundColor(AppCompatResources.getColorStateList(context, R.color.chip_selector_color));
Upvotes: 9
Reputation: 1217
For Kotlin, you should use this:
chip.chipBackgroundColor = ColorStateList.valueOf(ContextCompat.getColor(context, R.color.yourColor))
For Java:
chip.setChipBackgroundColor(ColorStateList.valueOf(ContextCompat.getColor(context, R.color.yourColor)));
Upvotes: 32
Reputation: 334
You can set background color of material chip by following line (Kotlin)
chip.chipBackgroundColor = getColorStateList(/*your preferred color*/)
Upvotes: 29