Définir une animation entre le passage d’une vue à une autre

Pour permettre le changement de l’animation par défaut pour le passage d’une vue à une autre, il faut tout d’abord importer le dossier « anim » présent dans les exemples du SDKd’Android dans le répertoire « res » d’Eclipse (voir image ci-dessous).

On peut alors faire la chose suivant pour définir la transition qui sera utilisée :


package com.AJ.FastAndQuikly;
import android.app.Activity;
import android.os.Bundle;

public class DisplayVue extends Activity
{
    public void onCreate(Bundle savedInstanceState) //A la creation de la vue
    {
        super.onCreate(savedInstanceState);
        overridePendingTransition(R.anim.wave_scale, R.anim.wave_scale);  //Animation
        setContentView(R.layout.jeu); //Afficher la vue portant le nom "jeu"
    }
}

On a donc rajouter l’animation, il est est alors possible de changer celle de l’exemple pour une autre ou de rajouter une animation en ajoutant un fichier XML dans le dossier « anim ».

Source : http://www.41post.com/3368/programming/android-changing-the-animation-between-activities

Faire un bouton qui change de vue

Le changement de vue sous Android est assez complexe pour un débutant comme moi, il faut tout d’abord créer une classe qui aura pour but d’afficher la seconde vue, en voici le code (Fichiers « DisplayVue.java ») :


package com.AJ.FastAndQuikly;
import android.app.Activity;
import android.os.Bundle;

public class DisplayVue extends Activity
{
    public void onCreate(Bundle savedInstanceState) //A la   creation de la vue
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.jeu); //Afficher la vue portant le nom "jeu"
    }
}

Il faut ensuite activer un listener sur le bouton souhaité comme suivant (fichier « FastandQuiklyActivity.java » qui est le fichier principal) :

package com.AJ.FastAndQuikly;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class FastandQuiklyActivity extends Activity
{
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  //Définition de la vue principale
        Button ButtonConnexion = (Button) findViewById(R.id.button1);   //Appel du "button1"
        ButtonConnexion.setOnClickListener(new View.OnClickListener()      //Creation du listener sur ce bouton
        {
            public void onClick(View actuelView)    //au clic sur le bouton
            {
                Intent intent = new Intent(FastandQuiklyActivity.this, DisplayVue.class);  //Lancer l'activité DisplayVue
                startActivity(intent);    //Afficher la vue
            }
        });
    }
}

Attention : ne pas oublier de declarer l’activity « DisplayVue » dans le fichier AndroidManifest.xml