水平 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

我试过vieoViewExoPlayersurfaceView。但都显示出同样的问题。当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 中的项目的问题?

带有水平溢出的Android垂直recyclerview

在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)

水平 RecyclerView 内的水平 RecyclerView

ScrollView中的Horizo​​ntal RecyclerView:垂直滚动时如何获得焦点?