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

Activity Switch per onTouch

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von java4life, 27.01.2011.

  1. java4life, 27.01.2011 #1
    java4life

    java4life Threadstarter Junior Mitglied

    Beiträge:
    38
    Erhaltene Danke:
    1
    Registriert seit:
    23.01.2011
    Hi Leute,

    ich habe 2 verschiedene Activities (Activity1 + Activity2) mit verschiedenen Layouts. Mit Buttons kann ich erfolgreich zwischen beiden "switchen".

    Nun wollte ich das gleiche per onTouch machen, allerdings bekomme ich das nicht gebacken.

    Activity1 (Haupt) und Activity2 sind erfolgreich in manifest.xml integriert.


    Hat jemand einen "einfachen" Code-Snippet oder Link,der mir weiterhelfen könnte?
    Wäre euch echt dankbar!!!

    Mfg
     
  2. ts-apps, 27.01.2011 #2
    ts-apps

    ts-apps Erfahrener Benutzer

    Beiträge:
    194
    Erhaltene Danke:
    39
    Registriert seit:
    27.03.2010
    Per onTouch???

    Klick auf nen anderes Element?
     
  3. java4life, 28.01.2011 #3
    java4life

    java4life Threadstarter Junior Mitglied

    Beiträge:
    38
    Erhaltene Danke:
    1
    Registriert seit:
    23.01.2011
    also ich möchte sozusagen durch die activities horizontal "scrollen" bzw. wechseln...

    das möchte ich mit der onTouch methode realisieren.
    also wenn ich mit dem finger auf dem touchding nach links ziehe,dann soll er die andere activity zeigen...
     
  4. klausa2, 28.01.2011 #4
    klausa2

    klausa2 Fortgeschrittenes Mitglied

    Beiträge:
    298
    Erhaltene Danke:
    20
    Registriert seit:
    08.07.2009
    Was du dann brauchst ist nicht inTouch. Du macht ja mit dem nach links/rechts ziehen eine Geste. Google mal nach "Android gesture", dann findest du einige Beschreibungen.
     
  5. java4life, 29.01.2011 #5
    java4life

    java4life Threadstarter Junior Mitglied

    Beiträge:
    38
    Erhaltene Danke:
    1
    Registriert seit:
    23.01.2011
    aber onTouch kann man auch in der Richtung definieren:

    hier ein beispielcode,wie es zurzeit ist:

    Code:
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            [COLOR=DarkRed]LinearLayout layMain = (LinearLayout) findViewById(R.id.layout_main);
            layMain.setOnTouchListener((OnTouchListener) this);[/COLOR]
           }
    
    und hier die methode:
    Code:
    public boolean [COLOR=DarkRed]onTouch(View arg0, MotionEvent arg1)[/COLOR] {
    
            // Get the action that was done on this touch event
            switch (arg1.getAction())
            {
                case MotionEvent.ACTION_DOWN:
                {
                    // store the X value when the user's finger was pressed down
                    downXValue = arg1.getX();
                    break;
                }
    
                case MotionEvent.ACTION_UP:
                {
                    // Get the X value when the user released his/her finger
                    float currentX = arg1.getX();            
    
                    // going backwards: pushing stuff to the right
                    if (downXValue < currentX)
                    {
                        // Get a reference to the ViewFlipper
                         [COLOR=RoyalBlue]ViewFlipper vf = (ViewFlipper) findViewById(R.id.details);[/COLOR]
                         // Set the animation
                          vf.setAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
                          // Flip!
                          vf.showPrevious();
                    }
    
                    // going forwards: pushing stuff to the left
                    if (downXValue > currentX)
                    {
                        // Get a reference to the ViewFlipper
                        ViewFlipper vf = (ViewFlipper) findViewById(R.id.details);
                         // Set the animation
                         vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
                          // Flip!
                         vf.showNext();
                    }
                    break;
                }
            }
            // if you return false, these actions will not be recorded
            return true;
        }
    
    das problem ist, dass der viewflipper sozusagen in einer xml steht. ich möchte jetzt aber gerne zwischen zwei activities (wirklich) hin und herschalten können.
    also genauso,als würde ich das mit dem onClickEreignis eines buttons realisieren...
     
    Zuletzt bearbeitet: 29.01.2011

Diese Seite empfehlen