Jul*_*lie 5 android ontouchlistener mediacontroller
我希望我的MediaController仅在用户触摸屏幕的下半部分时隐藏,因为我在顶部有一些按钮,只需点击一下即可访问.也就是说,没有MediaController拦截第一次点击.
从我在开发人员文档中读到的内容:
...具体来说,控件将浮动在setAnchorView()指定的视图上方.如果闲置三秒钟,窗口将消失,当用户触摸锚视图时,窗口将重新出现.
我的anchor_view布局:
<View android:id="@+id/player_control"
android:layout_width="wrap_content"
android:layout_height="100dip"
android:layout_alignParentBottom="true">
</View >
Run Code Online (Sandbox Code Playgroud)
然而,当控制器打开时,每当我触摸anchor_view外的屏幕时,它仍然只隐藏它,并且不会触发按钮事件.
有办法防止这种情况吗?
锚视图仅被用作MediaController获取开始绘制控制器的位置的参考。控制器本身绘制在一个新窗口中,该窗口浮动在所有视图都附加到的窗口上。当创建 的实例时MediaController,会构建这个新的浮动窗口(使用内部 API),并将触摸侦听器关联到其装饰视图,即关联到其整个表面。这就是为什么触摸屏幕的任何部分都会导致隐藏媒体控制器,这就是为什么我认为没有简单的方法来自定义此行为:它可能需要您扩展或重新实现MediaController。