web-dev-qa-db-fra.com

Définir com.google.Android.material.chip.Chip sélectionner la couleur

Comment définir la couleur com.google.Android.material.chip.Chip sélectionnée? Je ne veux pas que ce soit le gris par défaut. Il s'agit d'un seul groupe de puces de sélection.

enter image description here

Documentation originale ici

<com.google.Android.material.chip.ChipGroup
    Android:id="@+id/chipgroup"
    Android:layout_width="0dp"
    Android:layout_height="wrap_content"
    Android:layout_marginStart="16dp"
    Android:layout_marginTop="16dp"
    Android:layout_marginEnd="16dp"
    app:checkedChip="@+id/chip_program"
    app:chipSpacingHorizontal="32dp"
    app:chipSpacingVertical="8dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/detailText"
    app:singleSelection="true">

    <com.google.Android.material.chip.Chip
        Android:id="@+id/chip_program"
        style="@style/Widget.MaterialComponents.Chip.Choice"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Program"
        app:chipEndPadding="16dp"
        app:chipStartPadding="16dp" />

    <com.google.Android.material.chip.Chip
        Android:id="@+id/chip_normal"
        style="@style/Widget.MaterialComponents.Chip.Choice"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="@string/program_normal"
        app:chipEndPadding="16dp"
        app:chipStartPadding="16dp" />
</com.google.Android.material.chip.ChipGroup>
27
Jeffrey Liu

En quelque sorte changer Android:textColor in styles ne fonctionne pas pour moi. Je dois changer la couleur du texte de la puce par programmation (car je crée également des puces par programmation).

val chip = Chip(context)
// Apply custom MyChipChoice style to the chip
val drawable = ChipDrawable.createFromAttributes(context!!, null, 0, R.style.MyChipChoice)
chip.setChipDrawable(drawable)
// Apply text color to the chip
val colorStateList = ContextCompat.getColorStateList(context!!, R.color.my_choice_chip_text_color)
chip.setTextColor(colorStateList)
0
Nhon Nguyen