2010-11-01 21 views
6

Je sais que Android utilise automatiquement des animations glissantes si vous ouvrez et fermez des activités. Ensuite, ils glissent de gauche à droite et remplissent l'écran (ou de droite à gauche). Le fait est que l'animation est assez rapide ... elle est visible sur l'émulateur mais elle est à peine perceptible sur le téléphone lui-même. Je me demande s'il n'y a aucun moyen de ralentir cette animation, donc on verrait certainement que la vue est glissante.Ralentir l'animation coulissante entre les activités Android?

+0

recherche de même .. + 1 – Sameer

+0

Je voudrais ajouter quelque chose. L'animation entre les activités dure aussi longtemps que nécessaire pour créer l'activité à laquelle vous naviguez, c'est en fait un écran de chargement agréable. Et bien sûr, modifier le temps de chargement est quelque chose qui n'est pas fait. Il est cependant possible de remplacer l'animation par défaut. Définissez une animation en Xml et faites 'Activity.overridePendingTransition()', voici un [tutoriel complet] (http://developerlife.com/tutorials/?p=343) sur les animations Xml. Cependant, je ne pense pas qu'il soit impossible de modifier l'animation par défaut (pour autant que je sache). Et, celui par défaut n'est pas le même sur tous les appareils. –

Répondre

3

D'abord empêcher l'animation par défaut (glisser à partir de la droite) avec le drapeau Intent.FLAG_ACTIVITY_NO_ANIMATION dans votre intention.

ie.,

Intent myIntent = new Intent(context, MyActivity.class); 
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
context.startActivity(myIntent); 

Maintenant, vous pouvez charger votre propre animation personnalisée. Référez-vous au link pour savoir comment animer votre activité.

1

vous pouvez spécifier la durée de l'animation dans l'animation .xml dans res/anim par exemple pour glisser à gauche:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" > 

<translate 
    android:duration="500" 
    android:fromXDelta="0%" 
    android:fromYDelta="0%" 
    android:toXDelta="-100%" 
    android:toYDelta="0%" /> 

</set>