Android MediaController拦截所有其他触摸事件

Ron*_*nie 9 android touch-event mediacontroller

我的应用程序的上半部分VideoView有一个MediaController下面的.下半部分是带有一些按钮的图像.虽然MediaController可见,但下面的按钮不可点击.它就像是MediaController可见的,它会拦截所有其他触摸事件,即使它们不在范围内MediaController.

有什么想法吗?

Iva*_*sov 12

您可以查看我的覆盖答案dispatchTouchEvent(),将点击传递MediaController给底层Button,但我猜你使用MediaController的方式有问题.你可以发布你的布局吗?

UPD: 实际上,罢工.我刚刚看了一下MediaController代码,结果发现它Window为自己创造了一个新的东西.这就是为什么你的点击不会被派遣 - 他们被派遣到另一个窗口.另外,据我所知,从构造函数代码中,如果你通过xml对MediaController进行扩充(即在布局文件中使用它然后只是通过代码中的id找到它) - 它将不会创建额外的Window.这很奇怪,但我确信他们有理由这样做.

因此,解决方案是尝试在布局文件中使用MediaController,或者使用CommonsWare的解决方案.如果您尝试使用xml,请告诉我它是怎么回事.

  • 它在`setAnchorView`期间崩溃了.我删除了它,但现在它没有显示 (2认同)

Com*_*are 8

有什么想法吗?

不要用MediaController.创建自己的控制器UI,根据需要弹出并显示.虽然这个示例项目可能不再完全正常工作,因为我在三年内没有触及,但它演示了让您自己的控制器面板在触摸时弹出然后消失.