-1
votes

Arrêter les effets d'animation après avoir repris une activité

J'ai ajouté des animations sur une vue.
Après avoir lancé une activité, toutes les animations commencent à animer. Après avoir arrêté l'effet d'animation, je vais à une autre activité dans la même application. Quand je reviens à l'activité que l'animation existe, toutes les animations commencent à animer à nouveau mais ce n'est pas nécessaire.

Je dois arrêter cet effet d'animation après que la CV est appelée dans une activité. Je ne pouvais trouver aucune solution pour cela. Toute suggestion? P>

mis à jour: strong> J'ajoute toute l'animation init et à partir de la méthode Oncreate () code>. P>

Mise à jour: strong> p>

Les animations commencent dans le Oncreate () Code> Méthode P>

        case R.id.spark_button: {
            // network checking code will append here
            // after that calls the activity
            startActivity(new Intent(SettingsActivity.this, HomeActivity.class));
            break;
        }


5 commentaires

Comment naviguer entre ces activités?


J'utilise ce qui précède Sparkboutton pour accéder à une autre activité et j'utilise Intention pour naviguer sur les activités


Je ne vois pas le code de l'intention, le code où vous lancez l'activité à partir du bouton


Thread mis à jour @userone


Je voulais vérifier que vous n'appelez pas terminé (), ma réponse doit fonctionner, vérifiez si Savedbundlestate est null lorsque vous reprenez (de l'activité B revenez à a), il ne devrait pas


4 Réponses :


0
votes

Appelez Clearanimation () sur celle que vous avez appelée StarTanimation ().

J'espère que cela vous aidera!


0 commentaires

1
votes

Call Clearanimation () Méthode pour la vue qui est en train d'être animé dans Onstop () Méthode de votre Activité pas dans onresume puisqu'il déclenche également lorsque l'activité se lance pour la première fois


6 commentaires

J'ai appelé Clearanimation () sur Onstop () Méthode, mais toujours le même problème


Voulez-vous simplement confirmer, utilisez-vous votre vue sur ONRESUME PROCÉDÉ SI SE VEUILLEZ JOUR Veuillez prendre cette pièce à la méthode Oncreate


Désolé mes excuses veuillez appeler la méthode de Clearanimation () dans Onpasue Méthode Voir Activité Lifecycle


Toujours le même mec. Une autre suggestion?


Veuillez me dire où vous ajoutez du code detarimation


Je ne sais pas pourquoi ça ne fonctionne pas, je l'avais essayé de travailler pour mon ici est le code Override ONCreate (SavedInstanCetate: Bundle?) {Super.Oncreate (SavedInCreate (SavedInCreate) SetContentView (r.layout.activity_main) Valime = (0F, 300F, 0F, 300F, 300F) Anim.duration = 3000 Anim.RepeatCount = Animation.infinite View.Animation = Anim View.Animate ()} Remplacer Overide OnStop () {View.Clearanimation () Super.onstop ()}



1
votes

Vous pouvez essayer comme solution de contournement de mettre votre code d'animation de départ à l'intérieur d'une condition comme celle-ci dans Oncreate

if(null == savedBundleState) {
 ////Play your Animation
 }


1 commentaires

Quand Savedbundlestate == null, cela signifie que l'activité vient de commencer, alors veuillez publier votre code



1
votes

Vous pouvez créer Boolean et vérifier toujours lorsque votre activité commence;

boolean shouldShowAnimation = true;   

@Override
public void onResume(){       
    super.onResume();
    if(shouldShowAnimation) {
       shouldShowAnimation = false;
       // Your animation
    }
}


0 commentaires