IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Gesture, motionEvent petit souci


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut Gesture, motionEvent petit souci
    et me revoila pour un nouveau souci je commence a croire,
    que c'est vous qui allez concevoir mon app mdrrr,

    bon donc voila j'ai réussi a faire mon système de viewflipper pour animer les vues, et j'ai aussi mis en place l’incrémentation et la décrémentation,
    seulement le motionEvent n'a pas l'air d'agir et pourtant aucune erreur,
    ni a la compilation ni autre d'ou peut venir mon souci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    package com.m.h;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.GestureDetector;
    import android.view.GestureDetector.SimpleOnGestureListener;
    import android.view.Gravity;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.ViewGroup;
    import android.view.ViewGroup.LayoutParams;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.ViewFlipper;
     
    public class mh extends Activity {
     
    	static String[] items ={"Ajoupa Bouillon", "Anses d'Arlet", "Basse Pointe", "	Bellefontaine", "Carbet", "Case Pilote", "Diamant", "Ducos", "Fond Saint Denis", "Fort De France", "François", "Grand Rivière", "Gros Morne", "Lamentin", "Lorrain", "Macouba", "Marigot", "Marin", "Morne Rouge", "Morne Vert", "Prêcheur", "Rivière Pilote", "Rivière Salée", "Robert", "Sainte Anne", "Sainte Luce", "Sainte Marie", "Saint Esprit", "Saint Joseph", "Saint Pierre"};
    	private static final int SWIPE_MIN_DISTANCE = 120;
    	private static final int SWIPE_MAX_OFF_PATH = 250;
    	private static final int SWIPE_THRESHOLD_VELOCITY = 200;
    	private GestureDetector gestureDetector;
    	View.OnTouchListener gestureListener;
    	private int currentIndex = 0;
    	private int maxIndex = 30;
     
    	ViewFlipper flipper;
     
    	Animation slideLeftIn;
    	Animation slideLeftOut;
    	Animation slideRightIn;
    	Animation slideRightOut;
     
     
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            flipper=(ViewFlipper)findViewById(R.id.details);
     
            slideLeftIn = AnimationUtils.loadAnimation(this, R.anim.slide_left_in);
            slideLeftOut = AnimationUtils.loadAnimation(this, R.anim.slide_left_out);
            slideRightIn = AnimationUtils.loadAnimation(this, R.anim.slide_right_in);
            slideRightOut = AnimationUtils.loadAnimation(this, R.anim.slide_right_out);
     
            flipper.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));
            flipper.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
     
            for (String item : items)
            {
            	 Button btn =new Button(this);
            	 Button btn2 = new Button(this);
            	 btn.setText("categorie");
            	 btn2.setText(items[currentIndex]);
            	 LinearLayout mylayout = new LinearLayout(this);
            	 mylayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
            	 mylayout.addView(btn);
            	 mylayout.addView(btn2);
     
     
     
     
     
            	 flipper.addView(mylayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
     
     
            }
     
    		gestureDetector = new GestureDetector(new MyGestureDetector());
    		gestureListener = new View.OnTouchListener() {
    			public boolean onTouch(View v, MotionEvent event) {
    				if (gestureDetector.onTouchEvent(event)) {
    					return true;
    				}
    				return false;
    			}
    		};
     
    	}
     
    	class MyGestureDetector extends SimpleOnGestureListener {
    	@Override
    	public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    	     try {
    				if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
    					return false;
    				// right to left swipe
    				if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
    						&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
    					flipper.setInAnimation(slideLeftIn);
    					flipper.setOutAnimation(slideLeftOut);
     
    					if (currentIndex == maxIndex) {
    						currentIndex = 0;
    					}
    					else {
    						currentIndex = currentIndex + 1;
    					}
     
     
    					flipper.showNext();
    				}
    				else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
    						&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
    					flipper.setInAnimation(slideRightIn);
    					flipper.setOutAnimation(slideRightOut);
     
    					if (currentIndex == maxIndex) {
    						currentIndex = 0;
    					}
    					else {
    						currentIndex = currentIndex - 1;
    					}
     
    					flipper.showPrevious();
    				}
    			}
    			catch (Exception e) {
    				Log.e("Log_tag", "Erreur switch"+e.getMessage());
    			}
    			return false;
    		}
    	}
     
     
     
     
            }
    bon vous allez me dire que ma boucle for ne sert a rien,
    mais elle ne doit normalement pas empêcher le bon fonctionnement du programme, et pourtant quand je glisse mon doigt sur mon tel rien et pareil avec la souris sur l’émulateur.

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    personne pour m'aider ? mon code est pourtant clair,
    et qui plus est j'ai même essayé d’intégrer des toast a chaque condition et rien n'y fait a parement tous mes mouvement ne sont pas déclenché :s

    en plus se code sort d'un exemple qui a déjà servis et je l'ai vu aussi sur se forum mais rien pour m'aider :s

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Par défaut
    J'ai déjà utilisé un FlipperView mais un peu différemment. Sans gesture.
    En fait pour utiliser un FlipperView, il faut changer de vue. C'est au moment ou l'on passe de la vue à la vue deux que les animations s'activent

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    et bien en faite mon souci n'est pas le ViewFlipper car il fonctionne très bien et s’anime sur on met l’animation en marche,
    seulement mes gesture ne renvoi rien quand on fait glisser le doit sur lecran ou la souris sur l'emu même pas les toast s'affiche :s

  5. #5
    Invité de passage
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1
    Par défaut
    Moi aussi j'ai le même pb, si quelqu'un peut nous donner une idée?

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    En essayant avec cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gestureDetector = new GestureDetector(this, new MyGestureDetector());

Discussions similaires

  1. Petit soucis pour se connecter à l'adsl
    Par Blowih dans le forum Réseau
    Réponses: 4
    Dernier message: 28/07/2004, 00h16
  2. petit soucy de fenetre cmd
    Par FeetloveR666 dans le forum Windows
    Réponses: 5
    Dernier message: 03/07/2004, 14h24
  3. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58
  4. Réponses: 6
    Dernier message: 21/01/2004, 13h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo