水平 RecyclerView 中的 VideoView 在滑动时显示墙纸
Posted
技术标签:
【中文标题】水平 RecyclerView 中的 VideoView 在滑动时显示墙纸【英文标题】:VideoView in a HorizontalRecyclerView shows Wallpaper while swiping 【发布时间】:2019-07-17 05:01:40 【问题描述】:当我在播放视频时滚动Horizontal RecyclerView
时,videoView
的边缘会显示壁纸。
Screenshot of error
我试过vieoView
、ExoPlayer
、surfaceView
。但都显示出同样的问题。当videoView
替换为imageView
时问题就解决了。
<hu.lacroix82.stretchtopviewlibrary.StretchTopScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/stretchTopView"
android:layout_
android:layout_
android:layout_marginBottom="150dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:orientation="vertical"
android:layout_
android:layout_>
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_root"
android:layout_
android:layout_
android:background="@color/background_main">
<VideoView
android:id="@+id/video_view"
android:layout_
android:layout_
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent" />
......
.......
.......
【问题讨论】:
VideoView
是如何布局的?提供层次结构。
@Abbas 请检查层次结构。
您正在使用的测试设备的操作系统?
Android 7.0
- 牛轧糖
【参考方案1】:
首先,检查您在此活动中使用了哪个主题。是否是透明主题?因为您已经尝试了多个视频播放库并且同样的问题正在上升,所以我认为这不是编码方面的问题。这必须来自您的活动主题,因此将您的活动主题更改为纯色的深色主题。让我知道问题是否已解决?
【讨论】:
我把主题改成了android:theme="@style/AppTheme"
。现在显示黑色而不是蓝色壁纸。
因为您的 2 个视频视图之间存在透明部分,这就是它显示黑色的原因,这是唯一的透明度问题,因此请根据需要进行更改
它起作用了......但是视频播放器在滑动时需要一秒钟才能加载......有什么解决方案
您可以在刷卡之前预缓存必要数据,并且可以毫无延迟地使用该预加载数据。以上是关于水平 RecyclerView 中的 VideoView 在滑动时显示墙纸的主要内容,如果未能解决你的问题,请参考以下文章
水平 RecyclerView 中的 VideoView 在滑动时显示墙纸
如何解决单击水平 RecyclerView 中的项目的问题?
在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)