我正在使用自定义MediaController
和VideoView
构建应用(两者都使用99%的原始Android代码)来显示我的视频。当活动处于横向状态时,我将操作栏(使用actionbarsherlock 4.2.0)设置为覆盖VideoView
,就像在youtube应用中一样。
当您单击视频视图时,mediacontroller在可见和不可见之间交替显示,但是当它可见时您可以使用按钮来控制视频,但是如果我触摸操作栏项目它不起作用并且只是隐藏了mediacontroller因为他截获了触摸事件。
我查看了MediaController
的代码并意识到他正在创建一个填满整个屏幕的窗口。所以我修复了这个问题并将窗口设置为在操作栏正下方开始,但即使窗口上设置了WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
,我的触摸调用仍然被截获,因此它不会阻止外部的触摸事件(因为操作栏是理论上在MediaController的窗口之外。)
知道我做错了什么吗?最糟糕的情况我将不得不使用类似this thread的两个解决方案之一:删除窗口并使用布局膨胀或根本不使用MediaController