2010-07-16 8 views
0

Je développe un lecteur de musique et j'ai un flipper de vue pour contrôler toute la vue de l'artiste, la vue de l'album, et ainsi de suite. Ce que je fais maintenant, c'est que j'ai une vue de liste dans chaque vue de la vue flipper. Cependant, je ne veux pas mettre tous mes codes dans une activité mais plutôt, avoir des activités différentes pour chaque vue. Est-ce possible?Utiliser différentes activités pour différentes vues dans un ViewFlipper

Répondre

1

Cependant, je ne veux pas mettre tous mes codes dans une activité mais plutôt d'avoir des activités différentes pour chaque vue .

Veuillez ne pas faire ceci. Non seulement ce n'est pas possible, mais l'autre endroit où cela est pris en charge (TabHost) gaspille de la RAM et du CPU.

2

Si votre objectif est simplement de créer la même expérience utilisateur fournie par ViewFlipper vous seriez mieux à l'aide overridePendingTransition(int enterAnim, int exitAnim) qui est disponible depuis l'API de niveau 5.

Vous appelleriez overridePendingTransition quel que soit l'événement était à l'origine du activité à changer. Un exemple peut être trouvé dans le Android SDK samples, mais je fournis un ci-dessous pour répondre plus complètement à votre question.

Vous devez d'abord définir vos animations. Créez un dossier anim sous res. Puis définissez deux transitions l'une dans et l'autre sur.

in_right

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromXDelta="100%" 
     android:toXDelta="0%" 
     android:duration="600"/> 
</set> 

out_left

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromXDelta="0%" 
     android:toXDelta="-100%" 
     android:duration="600"/> 
</set> 

Ensuite, dans le cas qui commence l'autre activité que vous souhaitez utiliser ces animations dans votre appel à overridePendingTransition.

// this code snippet does not show wiring event to button 
void buttonClicked() { 
    startActivity(new Intent(this, HistoryListActivity_.class)); 
    overridePendingTransition(R.anim.in_right, R.anim.out_left); 
} 
Questions connexes