2011-10-01 4 views
0

나는 비디오 재생 컨트롤을 만들고있다. 내 코드는 모두 작동하도록 만들기 위해 존재하며 한 가지를 제외하고는 작동합니다. 표면 뷰를 터치하면 컨트롤이 나타납니다. 그러나 일단 표면 뷰가 올라 오면 내 표면 뷰는 더 이상 집중하지 않고 터치 이벤트를받지 않습니다. 필자가 필요로하는 것은 표면 뷰가 여전히 대화 상자를 열어 놓은 상태에서도 터치 이벤트를 얻는 것입니다. 또한 대화 상자에서 터치 이벤트를 수신 할 수 있어야합니다. 어떻게해야합니까?안드로이드 touchevent 앞에서 대화도 함께보기에

답변

1

대화 상자가 아닌 컨트롤을 위해 SurfaceView 위에 놓여있는 동일한 레이아웃에서 다른보기를 사용하십시오. 대화 상자는 모달 상호 작용을위한 것입니다. 대화 상자는 사용자가 아래에있는 것과 상호 작용하는 것을 차단하기위한 것입니다.

+0

대화 상자를 열어 터치 이벤트를 잡을 방법이 없습니까? 우리는이 대화 상자 주위에 많은 코드를 묶어 두었습니다. 리펙토링에 많은 작업이 필요할 것입니다. – spentak

+0

창 플래그 FLAG_NOT_TOUCH_MODAL을 대화 상자 창에 추가 할 수는 있지만 실제로 여기서는 잘못된 도구를 사용하고 있습니다. http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_NOT_TOUCH_MODAL – adamp