我希望我的MediaController仅在用户触摸屏幕的下半部分时隐藏,因为我在顶部有一些按钮,只需点击一下即可访问.
也就是说,没有MediaController拦截第一次点击.
从我在开发人员文档中读到的内容:
…Specifically,the controls
will float above the view specified with setAnchorView(). The window
will disappear if left idle for three seconds and reappear when the
user touches the anchor view.
我的anchor_view布局:
然而,当控制器打开时,每当我触摸anchor_view外的屏幕时,它仍然只隐藏它,并且不会触发按钮事件.
有办法防止这种情况吗?
最佳答案
MediaController仅将锚视图用作参考,以获取它应该开始绘制控制器的位置.控制器本身被绘制在窗口上方的新窗口中,所有视图都附加到该窗口中.当创建MediaController的实例时,构建这个新的浮动窗口(使用内部API)并且触摸监听器与其装饰视图相关联,即与其整个表面相关联.这就是为什么触摸屏幕的任何部分会导致隐藏媒体控制器,这就是为什么我认为没有简单的方法来自定义此行为:它可能需要您扩展或重新实现MediaController.