3

J'ai essayé d'animer un interrupteur de couleur sur fond CardView, mais je suis obtenir ceci:CardView ne prend pas en charge TransitionDrawable?

Impossible de résoudre la méthode 'setCardBackgroundColor (android.graphics.drawable.TransitionDrawable)'

Si CardView ne supporte pas TransitionDrawable, alors comment pouvons-nous réaliser quelque chose comme ça?

Répondre

2

Avez-vous essayé View#setBackground()?

public void setCardBackground(CardView cardView) { 
    ColorDrawable[] color = {new ColorDrawable(Color.BLUE), new ColorDrawable(Color.RED)}; 
    TransitionDrawable trans = new TransitionDrawable(color); 
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) { 
     cardView.setBackground(trans); 
    } else { 
     cardView.setBackgroundDrawable(trans); 
    } 
    trans.startTransition(5000); 
} 
+0

Fonctionne parfaitement –