1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Switchen des ViewFlippers durch Sliden über den Touchscreen ??

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von gurkenprinz, 04.05.2010.

  1. gurkenprinz, 04.05.2010 #1
    gurkenprinz

    gurkenprinz Threadstarter Neuer Benutzer

    Beiträge:
    22
    Erhaltene Danke:
    0
    Registriert seit:
    13.04.2010
    Hallo Leute !!

    Ich habe eigentlich das exakt selbe Problem wie dieser User.

    Problem with ViewFlipper and TouchEvent - Android Forums

    Leider hat ihm niemand geantwortet ;)

    Ich möchte auch dass sich mein ViewFlipper ähnlich verhält wie der Homescreen.
    Allerdings habe auch ich das Problem, dass der Flipper bei Berührungen immer nur das nächste Layout anzeigt, sprich von rechts nach links slided.

    Code:
    public boolean onTouch(View v, MotionEvent event) 
                {
                    
                    float startX = 0;
                    if(event.getAction()==MotionEvent.ACTION_DOWN)
                    {
                        startX=event.getRawX();
                    }
                    if(event.getAction()==MotionEvent.ACTION_UP)
                    {
                        
                        float endX = event.getX();
                        if(endX<startX)
                        {
                            vf.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.slide_right));
                            vf.showPrevious();
                        }
                        if(endX>startX)
                        {
                            vf.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.slide_left));
                            vf.showNext();
                            
                        }
                    }
    return true;
                
    Ich habs auch schon wie hier:

    Making a ViewFlipper like the Home Screen using MotionEvent.ACTION_MOVE - Stack Overflow

    mit einer switch anweisung gemacht ... hab aber das selbe Problem!

    Hat jemand eine Idee was ich falsch gemacht habe ??

    lg gurkenprinz
     
  2. dereulenspiegel, 04.05.2010 #2
    dereulenspiegel

    dereulenspiegel Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    4
    Registriert seit:
    16.08.2009
    Also ich habe das mit einem GestureDetector gelöst, der auf SlideEvents hört (SimpleGestureDetector). Und dann setze ich die jeweiligen Ein- bzw. Austrittsanimationen.
     
  3. Fr4gg0r, 04.05.2010 #3
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Also ich hab mir den Link jetzt zwar nicht angeschaut, jedoch solltest du dir bewusst sein, dass immer entweder ACTION_DOWN oder ACTION_UP aufgerufen wird.
    Somit ist startX immer 0, wenn die if Anweisung mit der ACTION_UP aufgerufen wird, d.h. nach links sliden fällt schonmal flach.
    (Ich vermute mal Eclipse wollte dass du startX ausserhalb der if Anweisung initialisierst?^^)
    Auf jeden Fall musst du startX in einer globalen Variable speichern...

    Edit: ich sehe grad, im ersten Link wurde es so wie bei dir in lokalen Variablen gespeichert, der zweite Link jedoch benutzt für den Startwert eine globale.
     
    Zuletzt bearbeitet: 04.05.2010
  4. gurkenprinz, 04.05.2010 #4
    gurkenprinz

    gurkenprinz Threadstarter Neuer Benutzer

    Beiträge:
    22
    Erhaltene Danke:
    0
    Registriert seit:
    13.04.2010
    Danke für die Hilfe !!

    Habs jetzt startX als globale Variable deklariert und das ganze wieder mit der switch anweisung implementiert und jetzt funktionierts wunderbar !!

    Danke !
    lg gurkenprinz
     

Diese Seite empfehlen