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

Immer aktuelle Fingerposition auf Touchscreen auslesen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von iphone_user, 16.12.2010.

  1. iphone_user, 16.12.2010 #1
    iphone_user

    iphone_user Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    17.11.2010
    hi jungs,
    habe mich nun an meine erste app gemacht.
    und schon taucht die erste frage auf, habe schon echt überall im inet nachgeforscht, aber checke es nicht annährend!
    möchte dauerhauft die aktuelle postion des fingers auf dem touchscreen auslesen (x und y-wert)!
    oft lese ich:
    Code:
    public boolean onTouchEvent(MotionEvent event) {
            int x = (int)event.getX();
            int y = (int)event.getY();
    }
    doch wo muss ich diese einfügen, und warum ist es eine boolean-methode (wird ja gar kein true oder false zurückgegeben)? kann mir jemand die methode erklären? -> oder gibt es bessere methoden für den beschriebenen sachverhalt?

    möchte im weiteren quelltext meines apps, einfach x und y verwenden (die aber echt dauerhaft aktualisiert werden, bis der finger angehoben wird - also ACTION_UP -> wie mache ich das?).

    vielen dank für schnelle und verständliche antwort. mfg dennis :thumbup:
     
  2. iphone_user, 19.12.2010 #2
    iphone_user

    iphone_user Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    17.11.2010
    keiner ne idee?
     
  3. manu, 19.12.2010 #3
    manu

    manu Fortgeschrittenes Mitglied

    Beiträge:
    329
    Erhaltene Danke:
    25
    Registriert seit:
    29.03.2009
    Phone:
    Galaxy Nexus
    Du musst true zurückgeben, damit klar wird, dass du das Event schon bearbeitet hast. Ansonsten macht es das System nochmals.

    Wird einfach in die Klasse eingefügt. Du überschreibst damit eine Methode.

    Code:
     
    @Override
        public boolean onTouchEvent(MotionEvent event) {
            synchronized (_thread.getSurfaceHolder()) {
                if (event.getAction() == MotionEvent.ACTION_MOVE) {
                    float x = event.getX();
                    float y = event.getY();
                return true;
            }
        }
    
    Das synchronized kannst vermutlich weglassen, wenn du mit den XML-Layout arbeitest.
     

Diese Seite empfehlen