В настоящее время я пишу игру для Android. У меня есть один обычный GLSurfaceView, в котором я визуализирую свою графику и использую метод public boolean onTouchEvent(MotionEvent me)
для регистрации сенсорных входов, например, для поворота камеры. В отдельном классе я программно создаю FrameLayout
, который содержит HUD. Это добавляется поверх GLSurfaceView с помощью this.addContentView(FL_HUD, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
. HUD содержит Image View
, для которого установлен прослушиватель касаний с .setOnTouchListener
, который создает другое событие Motion, которое я могу прочитать.
Оба TouchListeners/MotionEvents работают, поэтому, когда я касаюсь своего изображения, вызывается его TouchListener, когда я касаюсь другого места на экране, вызывается TouchListener основного действия. Но когда я пытаюсь коснуться изображения, касаясь экрана, или пытаюсь коснуться изображения, касаясь экрана, это не работает, или, другими словами, одновременно активен только один сенсорный прослушиватель.
Как мне включить мультитач для двух наложенных видов?