【发布时间】:2016-03-10 06:34:27
【问题描述】:
我在我的应用程序中使用YoutubePlayerSupportFragment。我正在添加YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT 标志。从documentation 我知道我的播放器在退出全屏后不会重新缓冲,但现在我必须处理操作栏和导航栏。但是文档没有说明或指出我如何处理这些情况。
现在我面临的问题目前只发生在 Asus Nexus 7 OS 5.1.1 中。我还有一个 LG G2 D802 OS 4.4.2、Samsung Galaxy TAB GT P5113 OS 4.4.2 和 Samsung Galaxy Tab SM-T310 OS 4.2.2,它们不会抛出覆盖错误。在 Log cat 中,我收到以下消息。
03-09 15:54:39.760 11203-11203/com.jadoo.jadooplus W/YouTubeAndroidPlayerAPI﹕
YouTube video playback stopped due to unauthorized overlay on top of player.
The YouTubePlayerView is obscured by android.view.View{c067400 V.ED.... ........ 0,736-1280,800 #1020030 android:id/navigationBarBackground}.
Top edge 24 px above YouTubePlayerView's bottom edge. .
所以我知道导航栏中的问题是。导航栏覆盖在播放器的顶部。
我的问题是这些
- 为什么我在其他设备上没有收到相同的错误?
- 如何处理系统导航栏,这样当我处于全屏模式时,如果/当我想停止播放器(在后按时)而不将其覆盖在播放器上时,我仍然可以获得导航栏。
我尝试侦听点击事件但在全屏模式下我无法获得任何结果,因此我在活动中尝试了OverridingdispatchTouchEvent() 并获得了我自己的点击事件,但即使这样也无助于我摆脱时间导航栏(实际上在时间之前)。
我还尝试通过OnSystemUiVisibilityChangeListener 监听系统 UI 更改并将导航栏隐藏在那里(但再次隐藏导航栏可能为时过早)。
我已经在 android manifest 文件中设置了android:theme="@style/Theme.AppCompat.NoActionBar",所以我真的不需要只隐藏导航栏的操作/状态栏。
此外,如果有人能确认这是特定于设备的问题,那将是一个很大的帮助。
【问题讨论】:
-
我使用 YouTube 并注意到如果他在屏幕上的空间很小,播放器会看到奇怪的。例如,我没有打开活动或完整的截图视频没有打开。我不得不从中删除工具栏。并非所有设备都会发生这种情况
-
@PeDuCKA 很抱歉,但我不明白您的评论。你能改写吗?您还说所有设备都不会出现此问题:您能说出它在哪些设备上发生(设备分类或固定数量的设备)吗?另外,如果有解决问题的方法,请告诉。
-
抱歉回复晚了,但不知何故我没有收到通知。
-
@PeDuCKA 我还是不明白。我的问题完全不同。我不想在 YoutubePlayerSupportFragment 之上绘制任何我自己的观点。就是导航栏过来了。我无法解决我的问题或解决方法。
标签: android android-youtube-api