J'ai une transition appliquée à plusieurs boutons où j'essaie de changer de largeur de 0DP à Remarque: DP10 est une variable entière (aucun problème Là-bas) Je veux qu'ils commencent après la fin de la précédente se termine forte>. P> une idée de la façon d'obtenir la même chose? P> P> match_parent code>
3 Réponses :
J'ai fait face au même problème il y a quelques jours. La solution est que vous devez utiliser différentes transitions pour différentes vues. Vous devez créer deux transitions ici et utiliser chacune une seule fois. Essayez ceci
Cela n'a créé que deux transitions, mais ils commencent en même temps. Je veux que le second commence seulement après la première transition est terminé
J'ai pu résoudre mon problème en utilisant Voici mon code: p> transition.settartdelay (délai) code>.
final ChangeBounds transition = new ChangeBounds();
startFloat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for(int i=0;i<allCards.size();i++) {
if(i%2 == 0) {
transition.setDuration(4000L);
transition.setStartDelay(delay);
TransitionManager.beginDelayedTransition(allCards.get(i), transition);
allButton.get(i).setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dp10));
delay+=4000;
}
else{
transition.setDuration(400L);
transition.setStartDelay(delay);
TransitionManager.beginDelayedTransition(allCards.get(i), transition);
allButton.get(i).setLayoutParams(new MaterialCardView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dp10));
delay+=400;
}
}
}
});