Я создал два представления для FrameLayout и запросил фокус на секунду.Когда я запускаю действие, сенсорные события на некоторое время зависают, а затем переходят в мой вид GL.Я думаю, что это занимает случайное время (обычно 5-10 секунд).Есть ли способ очистить очередь событий?
У меня есть GLSurfaceView, и я хочу нарисовать оверлей SurfaceView над ним.SurfaceView должен быть нарисован поверх GLSurfaceView, но входные события должны быть доставлены на поверхность opengl.Это моя деятельность,
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGLView= new SFView(this);
mCanvas= new SFCanvas(this);
mLayout=new FrameLayout(this);
mLayout.addView(mCanvas);
mLayout.addView(mGLView);
setContentView(mLayout);
mGLView.post(new Runnable() {
public void run() {
while( mGLView.isFocused() == false )
{
mGLView.requestFocus();
}
}
});
}
и мой Logcat выглядит следующим образом.
KeyInputQueue Enqueueing touch event1
KeyInputQueue Enqueueing touch event0
KeyInputQueue Enqueueing touch event1
KeyInputQueue Enqueueing touch event0
KeyInputQueue Enqueueing touch event1
KeyInputQueue Enqueueing touch event0
..
WindowManager Delivering pointer 1 > Window{com.myapplication/com.myapplication.activity}
WindowManager Delivering pointer 0 > Window{com.myapplication/com.myapplication.activity}
WindowManager Delivering pointer 1 > Window{com.myapplication/com.myapplication.activity}
KeyInputQueue Enqueueing touch event0
WindowManager Delivering pointer 0 > Window{com.myapplication/com.myapplication.activity}
KeyInputQueue Enqueueing touch event1
WindowManager Delivering pointer 1 > Window{com.myapplication/com.myapplication.activity}
..
Я также пробовал один запрос requestFocus (), но он дал тот же эффект. Приложение перестает отвечать на запросы в первые секунды.Где я ошибся?Спасибо за все предложения.Я прошу прощения за неправильное объяснение и за мой язык.Я новичок для платформы Android, и этот сайт.