这个问题之前已经在这里问过,但我想提供更多信息。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 边缘之间的距离为:left:20,top:0,right:20,bottom:-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>
所以我的问题是,有没有办法摆脱或防止黑斑出现?
目前我有一个很大的解决方法,当用户开始滚动时,youtubeplayer 将被释放,并且带有播放按钮的图像将取代它,当用户按下按钮时,youtubeplayer 将重新初始化并继续播放视频。