J'ai une carte avec des coins arrondis:

 <androidx.cardview.widget.CardView
        android:id="@+id/chronology_card"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="2dp"
        app:cardCornerRadius="12dp">   <------- corner radius set in the layout.

La vue montre avec des coins arrondis. -> ok.

Lors de la définition de la couleur d'arrière-plan par code ...

holder.cardView.setBackgroundColor(getBackgroundColor());

Le code que vous avez publié n'est pas Oracle, tandis que le message d'erreur que vous avez reçu est donc je suppose que vous utilisez vraiment Oracle. Dans ce cas, vous…

Comment définir la couleur d'arrière-plan lors de l'exécution et conserver les coins?

0
mcfly soft 22 oct. 2020 à 20:15

2 réponses

Meilleure réponse

Vous pouvez essayer d'ajouter ceci à votre code d'activité:

CardView cardView = findViewById(R.id.chronology_card);
cardView.setCardBackgroundColor(Color.parseColor("#put here the HEX code for the color"));

Je l'ai essayé avant et j'ai bien travaillé sans aucun problème dans le rayon des coins.

3
Yusuf Taha 22 oct. 2020 à 17:28

Le CardView gère son propre arrière-plan dessinable avec des coins arrondis.
En utilisant setBackgroundColor, vous remplacez cet arrière-plan.

Vous devez utiliser la méthode setCardBackgroundColor au lieu de setBackgroundColor.

1
Gabriele Mariotti 22 oct. 2020 à 21:34