2010-10-22 2 views
3

J'ai différents écran pour travailler dans une application android. J'utilise ViewFlipper pour ça. j'ai décidé de utilisé différentes classes pour différents enfants vueandroid: Puis-je utiliser la classe différente pour l'enfant différent de viewflipper

et ce la classe est Homescreen: -

public class HomeScreen { 
private Button signIn; 
private Button createAccount; 
private View v; 
private Context context; 
private ViewFlipper viewflipper; 

public HomeScreen(Context context,View v,ViewFlipper viewflipper) { 
this.v=v; 
this.context = context; 
this.viewflipper = viewflipper; 


signIn = (Button) v.findViewById(R.id.button_sign_in_homeScreen); 
createAccount = (Button)v.findViewById(R.id.button_createAccount_homeScreen); 
signIn.setOnClickListener(new View.OnClickListener() { 
public void onClick(View v) { 
    viewflipper.setDisplayedChild(1); 
    } 
}); 
} 

mais est exécuté montre exception java.lang.RuntimeException: Impossible de démarrer l'activité ComposantInfo Quelqu'un peut-il m'aider s'il vous plaît
getCurrentFocus() est le moyen correct d'obtenir la vue?


Ce que je tente de mettre en œuvre est

  • je dois utiliser différentes classes pour définir, en écoutant les contrôles de chaque enfant de vue Flipper
  • Dans l'exemple ci-dessus HomeScreen est l'un des mon enfant l'écran de vue flipper
  • Mais la ligne v.findViewById montre l'erreur je pense que getCurrentFocus() n'est pas la bonne façon d'envoyer la vue

Je ne sais pas la météo je me déplace de la bonne façon? Quand je définis et écoute tous les contrôles de tous les enfants de viewflipper dans la classe où je définis ce viewflpper, cette classe devient très grande. Cela m'a fait penser ainsi ..

... Merci

Répondre

4

U peut perfrom animation en utilisant intention de:

Etape 1: créer anim dossier sous répertoire res dans ur projet.

Etape 2: créer un fichier de slideleft.xml

Etape 3: recopier le code suivant dans ce fichier

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

étape 4: créer similaire slideright.xml

step5: utiliser le code ci-dessus , mais modifiez les éléments suivants:

<translate android:fromXDelta="-100%p" android:toXDelta="0" 
      android:duration="400" /> 

étape 6:

target.startAnimation(AnimationUtils.loadAnimation(HomeScreen.this, R.anim.slide_left)); 

perfroming opération FADEIN, ajoutez le code suivant dans le fichier fadein.xml

<?xml version="1.0" encoding="utf-8"?> 

<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:fromAlpha="0.0" android:toAlpha="1.0" 
     android:duration="300" /> 

même pour fanent trop

<?xml version="1.0" encoding="UTF-8"?> 
<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:fromAlpha="1.0" android:toAlpha="0.0" 
     android:duration="300" /> 
+0

OK..thanks ... il de nouvelles informations pour moi.............. –

Questions connexes