Finde Ansicht mit gegebenen x / y-Koordinaten in android

Ist es möglich, die Ansicht zu finden, die bei einem gegebenen absoluten x / y-Pixel-Coord angezeigt wird?

Edit: Ich habe eine passende Lösung gefunden, die gut funktioniert:

  • Super.onCreate (saveInstanceState);
  • ActionBarSherlock Item Icon seltsame Breite mit Android 4.3
  • Wie kann man OnClick in ListViews Adapter aufrufen
  • Gruppe Java / Android Stack Spuren in einzigartige Eimer
  • Möglichkeit, zukünftiges Datum zu wählen, wenn das Höchstdatum in datepicker gesetzt wird
  • Benötige ein Beispiel für HttpResponseCache in Android
  • private View findViewByCoord(float x, float y){ TextView textView = null; int[] location = new int[2]; int width = 0; int height = 0; for(int reference : cardReference){ textView = (TextView) findViewById(reference); textView.getLocationOnScreen(location); width = textView.getWidth(); height = textView.getHeight(); if(location[0] <= x && x <= (location[0] + width) && location[1] <= y && y <= (location[1] + height)){ Log.i("Test", "Card " + textView.getText() + " is pointed"); return textView; } } return null; } 

    Wo cardReference ein Array von Integer zu Resources ist (in meinem Fall 20 TextViews in einer 4 x 5 Matrix angeordnet):

     int[] cardReference = new int[]{R.id.card1_1, R.id.card1_2, R.id.card1_3, R.id.card1_4, R.id.card2_1, R.id.card2_2, R.id.card2_3, R.id.card2_4, R.id.card3_1, R.id.card3_2, R.id.card3_3, R.id.card3_4, R.id.card4_1, R.id.card4_2, R.id.card4_3, R.id.card4_4, R.id.card5_1, R.id.card5_2, R.id.card5_3, R.id.card5_4}; 

    Um die Leistung zu beschleunigen, würde ich erwägen, ein Array von TextViews zu verwenden und dann findViewById () in jedem Loop aufzurufen.

  • Java.lang.SecurityException: BLUETOOTH Berechtigungsabsturz. (Nur Samsung-Geräte)
  • Wie man Parameter in HTML-Datei von Android zu übergeben
  • Reagieren native android Übergänge sind wirklich langsam
  • Android scrollen zum Ende einer Listenansicht
  • So behandeln Sie mehrere Fragmente für eine einzelne Aktivität
  • Erhöhe den Android-API-Level während der App-Aktualisierung
  • One Solution collect form web for “Finde Ansicht mit gegebenen x / y-Koordinaten in android”

    Eine "Lösung" wäre, die Kinder der getLeft() zu durchlaufen und die getLeft() und getTop() Koordinaten gegen die X- und Y-Koordinaten deiner Wahl zu überprüfen. Wenn es ein Spiel gibt, hast du deine Ansicht.

    Ich würde gerne andere Alternativen hören.

    Bearbeiten: Du musst auch die Höhe / Breite der Ansicht in Bezug auf die linke und obere Koordinate ausarbeiten, um zu sehen, ob deine Koordinaten innerhalb dieses Bereichs liegen.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.