android:backgroundDimEnabled 让 ExoPlayer 播放视频 dim/darker

android:backgroundDimEnabled makes ExoPlayer video go dim/darker

我正在使用 ExoPlayer2 and I've noticed that when I use a theme with android:backgroundDimEnabled 设置为 true,视频变成 dark/dimmed 就像上面有叠加层一样。然而,这不会发生在 VideoViewImageView 上,只有 ExoPlayer。我对 ExoPlayerSurfaceViewandroid:backgroundDimEnabled 了解不够,所以我不确定为什么会这样。

根据我的理解,背景暗淡应该只适用于背景,不应该影响视图。但是,如果有人知道解决方法,我们将不胜感激。

造成这种情况的风格是:

<style name="TransparentFloatingActivity" parent="MyAppTheme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <!--<item name="android:windowNoTitle">true</item>-->
        <!--<item name="android:windowIsFloating">true</item>-->
        <item name="android:backgroundDimEnabled">true</item>
    </style>

我已经确认是背景暗淡造成的。

找到问题,感谢On Android emulator (hw too?) an Activity style with backgroundDimEnabled also dims GLSurfaceView output

问题是由于 SurfaceView 的呈现方式造成的,因此将 z 顺序设置为顶部可以解决此问题:

(simpleExoPlayerView?.videoSurfaceView as SurfaceView)?.setZOrderOnTop(true)

您可以将 "backgroundDimEnabled" 设置为 false;

您可以将其添加到属性

app:surface_type="texture_view"