2016-05-28 3 views
1

J'ai déjà utilisé overridePendingTransition() déjà mais il est utilisé pour ouvrir une activité avec la transition donnée pas une application.Comment lancer une application Android (pas une activité) du bas de l'écran vers le haut?

De plus, il ne fonctionne que lorsque vous avez une intention de cliquer sur un bouton, il ne fonctionnera pas si l'utilisation overridePendingTransition() dans onCreate()

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 
     Intent i = new Intent(Main2Activity.this,MainActivity.class); 
     startActivity(i); 
     overridePendingTransition(R.anim.slide_in_up,R.anim.slide_out_up); 
    } 

Répondre

1

avant setContentView utiliser le code suivant:

overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.fade_out); 

et dans votre finition() utilisez le code suivant:

@Override 
    public void finish() { 
     super.finish(); 
     overridePendingTransition(R.anim.fade_in, R.anim.slide_out_back_to_bottom); 
    } 

et créer anim dossier et mettre ces fichiers:

slide_in_from_bottom:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:zAdjustment="top"> 
    <translate 
      android:duration="400" 
      android:fromYDelta="100%p" 
      android:toYDelta="0%p" 
      > 
    </translate> 
    <alpha 
      android:fromAlpha="0.8" 
      android:toAlpha="1.0" 
      android:duration="400" 
      /> 
</set> 

slide_out_back_to_bottom:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
     android:zAdjustment="top"> 
     <translate 
       android:duration="400" 
       android:fromYDelta="0%p" 
       android:toYDelta="100%p" 
       > 
     </translate> 
     <alpha 
       android:fromAlpha="1.0" 
       android:toAlpha="0.8" 
       android:duration="400" 
       /> 
    </set> 

fade_in:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:zAdjustment="bottom"> 
    <alpha 
      android:fromAlpha="0.0" 
      android:toAlpha="1.0" 
      android:duration="300" 
      /> 
</set> 

fade_out:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:zAdjustment="bottom"> 
    <alpha 
      android:fromAlpha="1.0" 
      android:toAlpha="0.0" 
      android:duration="200" 
      /> 
</set> 

mise en œuvre complète se trouve here.

+0

Etes-vous sûr que cela fonctionnera pour le lancement de l'application Android de bas en haut? – user3542307

+0

Oui! J'utilise ceci dans un de mes projets aussi. aussi comme vous le voyez, j'utilise Transition de 0% à 100%, c'est exactement ce que vous voulez. J'ai aussi un peu fade_in/fade_out pour être meilleur. – Amir

+0

est-il exact :(sinon u peut partager ur apk sur le lecteur ou whereever – user3542307