L'animation de diapositives entre les points de vue d'un ViewFlipper
Dans une Activité que j'ai le texte suivant:
var flipper = FindViewById<ViewFlipper>(Resource.Id.flipper);
flipper.Touch += flipper_Touch;
La base de la mise en œuvre de la touche gestionnaire ressemble à ceci:
float oldTouchValue = 0;
void flipper_Touch(object sender, View.TouchEventArgs e)
{
var flipper = sender as ViewFlipper;
switch(e.Event.Action)
{
case MotionEventActions.Down:
oldTouchValue = e.Event.GetX();
break;
case MotionEventActions.Up:
float currentX = e.Event.GetX();
if (oldTouchValue < currentX)
{
flipper.ShowNext();
}
else if (oldTouchValue > currentX)
{
flipper.ShowPrevious();
}
break;
}
}
Cela me permet de naviguer entre les différents points de vue, mais j'aimerais le faire glisser à gauche/à droite
J'ai vu certains de Java exemples sur la façon de le faire fonctionner, mais pas de moyen direct de le traduire en c#.
Ce qui est nécessaire pour rendre le point de vue de la diapositive et est-il un moyen de définir la animation
dans XML
?
Je suis capable de faire des Activités de glisser dans et hors l'aide de animations
défini dans XML
et les appels à OverridePendingTransition
, mais je ne suis pas sûr de la façon d'appliquer cette connaissance ici.
OriginalL'auteur TimothyP | 2013-03-04
Vous devez vous connecter pour publier un commentaire.
La
ViewFlipper
a, à travers sesViewAnimator
classe, certaines méthodes pour définir l'animation pour les dans et hors actions,setInAnimation()
etsetOutAnimation()
. Ce sont dans le kit SDK d'Android, mais doit avoir une correspondance dans MonoDroid(avec qui, malheureusement, je ne suis pas familier donc je peux me tromper). Afin d'avoir de l'animation recherchée simplement utiliser les deux méthodes ci-dessus jusqu'à ce que le animations(fichier xml ou par programmation construitAnimation
) et ensuite appeler lashowNext/Previous
méthodes comme vous ne le font actuellement.Vous même avoir un peu de l'animation de diapositives dans le SDK Android, mais encore une fois je ne sais pas si ils sont présents dans MonoDroid.
Mise à jour: Ces méthodes sont en effet disponibles dans Monodroid et exposés comme ceci:
super réponse, il a travaillé en fonction de mon contexte. Une chose peu confus pour moi que dans
flipper OnClickListener
j'ai utiliséflipper.SetInAnimation(this, Android.Resource.Animation.Slide_In_Left); flipper.showNext();
et a parfaitement fonctionné, maintenant que dois-je faire pourflipper.showPrevious();
? Je suis à la recherche d'une solution sans l'aide de boutons. Merci d'avanceJe ne suis pas sûr de comprendre votre problème. Si vous voulez faire
flipper.showPrevious()
puis un bouton est le chemin à partir d'un point de vue utilisateur, pour aller vous utilisé l'un pour l'flipper.showNext()
. Sinon, comment un utilisateur de revenir?Construit dans les animations utilisation
android.R.anim.slide_in_left
en JavaDonne une Erreur en disant Inconnu animateur nom: traduire, il semble qu'il ne fonctionne pas avec les fragments.
OriginalL'auteur Luksprog