Android:MediaController的AnchorView有什么用?

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外的屏幕时,它仍然只隐藏它,并且不会触发按钮事件.

有办法防止这种情况吗?

Giu*_*lli 4

锚视图仅被用作MediaController获取开始绘制控制器的位置的参考。控制器本身绘制在一个新窗口中,该窗口浮动在所有视图都附加到的窗口上。当创建 的实例时MediaController,会构建这个新的浮动窗口(使用内部 API),并将触摸侦听器关联到其装饰视图,即关联到其整个表面。这就是为什么触摸屏幕的任何部分都会导致隐藏媒体控制器,这就是为什么我认为没有简单的方法来自定义此行为:它可能需要您扩展或重新实现MediaController