Android: Touch-Ereignis an untergeordnete Ansicht delegieren
Ich habe die folgende Hierarchie:Activity
->PopupWindow
->CustomView
Mein dasPopupWindow
selbst ist ein Quadrat, aber transparent, sodass Sie die Aktivität im Hintergrund sehen können. DasCustomView
ist ein im PopupWindow eingebetteter Kreis.
Was ich bisher erreicht habe ist
Benutzer klickt auf grünen Kreis und ich rufe "einige Sachen" auf Benutzer klickt außerhalb desPopupWindow
und das Berührungsereignis wird an die Aktivität gesendet. Der fehlende Teil ist jetzt, um jedes Berührungsereignis auszulösen, das innerhalb des @ passierPopupWindow
aber außerhalb desCustomView
(Kreis) zur Aktivität.
Ich weiß bereits, wie ich spüre, wenn sich die Berührung außerhalb meines Kreises befindet. Ich habe nur Probleme, es an die Aktivität zu delegieren.
In meinemCustomView
Ich habe die folgenden inonTouch
if (radiusTouch > maxRadius) {
return false;
}
In meinemPopupWindow
Ich habe bereits Folgendes eingerichtet, aber es wird nie aufgerufen:
popup.setTouchInterceptor(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i(TAG, "PopupWindow :: onTouch()");
return false;
}
});
Was muss ich noch tun, um das Berührungsereignis bis zur Aktivität zu delegieren?