0
votes

Android: Commencez une transition après la fin d'une autre

J'ai une transition appliquée à plusieurs boutons où j'essaie de changer de largeur de 0DP à match_parent xxx

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 .

une idée de la façon d'obtenir la même chose?


0 commentaires

3 Réponses :


0
votes

Vous devez utiliser transitionset à la place afin que vous puissiez configurer cette commande comme séquentielle. Plus de détails ici et ici dans les documents officiels Android


0 commentaires

0
votes

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 xxx


1 commentaires

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é



0
votes

J'ai pu résoudre mon problème en utilisant transition.settartdelay (délai) code>.

Voici mon code: p>

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;
            }
        }
    }
});


0 commentaires