2017-02-13 23 views
0

Ich habe mehrere Ansichten, sagen wir 5 Tasten. Und wie kann ich auf den 1. Knopf klicken und dann meinen Finger auf den Bildschirm halten, sondern ihn auf den 5. Knopf bewegen, so dass, wenn ich Knopf loslasse, ich Informationen vom 5. Knopf und nur vom 5. Knopf bekomme. Ich habe versucht, Touch-Listener zu verwenden: Action_Down und Action_Up erkennen, aber verstanden, dass Touch-Listener nur einer Ansicht zugewiesen sind (in diesem Fall Ansicht, aber auch Containern).Erhalten Sie Informationen aus einer anderen Ansicht

Vielen Dank.

+0

Verwendung Drag Listener –

Antwort

0

Bringen Sie die onTouchListener der Ansicht, alle diese Schaltflächen enthält, dann können Sie prüfen, ob eine Schaltfläche, um die (x,y) Koordinaten des ACTION_UP enthält diesen Code aus here genommen werden:

private boolean isViewContains(View view, int rx, int ry) { 
    int[] l = new int[2]; 
    view.getLocationOnScreen(l); 
    int x = l[0]; 
    int y = l[1]; 
    int w = view.getWidth(); 
    int h = view.getHeight(); 

    if (rx < x || rx > x + w || ry < y || ry > y + h) { 
     return false; 
    } 
    return true; 
} 
Verwandte Themen