Android: Für eine verschachtelte Ansicht, welche getX() und gety() relative to?
Habe ich ein benutzerdefiniertes layout mit verschachtelten V-Sicht, etwa so:
LinearLayout L1 ---> LinearLayout L2 ---> Ansicht V.
Habe ich einen OnTouchListener registriert für V. Auf einem touch-Ereignis, die ich brauche, um die Koordinaten des touch-event-relativ zu den Rändern der Ansicht V.
Was sind die Werte, die von Veranstaltung.getX() und event.getY() relative to? Ich habe gegoogelt um und sehe unterschiedliche Aussagen, manche sagen, diese Werte sind schon relativ zu V-Sicht, Kanten, noch andere sagen, ich muss subtrahieren edge-Koordinaten der view V von der Veranstaltung.getX() und event.getY() relative Koordinaten.
Vielen Dank für Ihre Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Google-Dokumentation
getX() Methode:
setTranslationX() Methode:
getLeft() Methode:
Daher getX() gibt die Ansicht der horizontalen position relativ zum übergeordneten Objekt.
UPDATE:
Für
event.getX()
dem Ergebnis, das Sie bekommen, ist auch relativ zum übergeordneten.Sie können einen einfachen test, indem ein Knopf in einem RelativeLayout ist horizontal zentriert und überprüfen Sie den Wert, wenn Sie auf die Schaltfläche
In Ihrem layout-xml:
In Ihre Tätigkeit:
Wenn Sie klicken Sie auf die Schaltfläche am linken Rand erhalten Sie einen Wert nahe bei 0.0.