这个问题之前已经在这里 被问过了,但是我想提供更多的信息。
当滚动时,YouTubePlayerView 经常会出现黑色轮廓,在暂停并改变旋转后可能会发生这种情况。
当我滚动并且它被覆盖时,似乎就会发生这种情况(为防止控件被隐藏而暂停)。暂停不是问题,因为用户没有观看视频,但是黑屏是问题所在。
此问题出现在运行Android 4.0.3的 Galaxy Tab 2 上,也出现在运行 4.1.2的 Xperia T 上,在运行 4.2.2的 One X 和运行 2.2.2的 Desire 上不会出现该问题。
一些更多的信息:
在向下滚动时,已暂停的视频图像似乎会与 Xperia T 屏幕顶部一起拉伸。当它看起来达到最小尺寸时,黑色区域开始滚动到其他内容上方。
警告文本:
由于未经授权的叠加在播放器上方,YouTube 视频播放停止。YouTubePlayerView未包含在其祖先 android.widget.ScrollView@41290ca0中。祖先的边缘与 YouTubePlayerView 的距离为:左: 20、上: 0、右: 20、下: -11(这些距离应都为正数)。
这是我的代码:
这是我的代码:
<TextView
android:id="@+id/textView"
android:gravity="center"
android:textSize="25sp"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="@string/header" />
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp" >
<LinearLayout
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" > <!-- In a linear layout so it is possible to set it in the middle -->
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubeplayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" >
</com.google.android.youtube.player.YouTubePlayerView>
</LinearLayout>
</ScrollView>
我的问题是,有没有办法消除或预防黑色补丁的出现?
目前我有一个大型解决方案,当用户开始滚动时,YouTube播放器将被释放,一张带有播放按钮的图像将取代它,当用户按下按钮时,YouTube播放器将重新初始化并继续播放视频。