2017-08-16 1 views
0

Ich habe Probleme beim Abrufen der vom Benutzer angeklickten Position in einer RecyclerView. Was ich habe:Erhalte X- und Y-Koordinaten in einem RecylcerView

Ein RecyclerView mit cardView.

Was ich brauche:

Rufen Sie die Koordinaten X und Y, in dem der Benutzer auf dieser „cardView“ geklickt, so kann ich dann mit einigen Animationen von dort aus arbeiten.

* Was ich versucht habe: *

int[] originalPos = new int[2]; 
view.getLocationInWindow(originalPos); 

Auf diese Weise ich die Position von Y erobert, originalPos [1], aber die Position X, originalPos [0], kehrt immer wieder mich 0.

ich habe bereits versucht, die Position durch eine relative Layout, Frame-Layout angeklickt zu bekommen, etc ... aber es wird zurückgegeben mich immer 0 an der Position X.

Danke allen für die Hilfe und Aufmerksamkeit auf meine Frage .

Antwort

1

getLocationInWindow soll das x, y von der linken oberen Seite der Ansicht erhalten.

Sie sollten onTouchListener verwenden, um das motionevent zu erhalten. ABER: touchListener gibt x, y basierend auf der 0,0 der Ansicht zurück, die Sie gerade hören, und das Erkennen von Klicks sollte auch erfolgen, indem Sie die Ereignisse einem GestureRecognizer zuweisen oder einige Wenns ausführen (DOWN + NOT MOVED + UP).

Kannst du die Lösung in der ganzen Ansicht, die geklickt wurde, anstelle des genauen Punktes, der berührt wurde, verwenden?

+0

Hallo, danke für die Lösung, das passt perfekt zu meinen Bedürfnissen. –

Verwandte Themen