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 就像上面有叠加层一样。然而,这不会发生在 VideoView
或 ImageView
上,只有 ExoPlayer
。我对 ExoPlayer
、SurfaceView
或 android: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"
我正在使用 ExoPlayer2
and I've noticed that when I use a theme with android:backgroundDimEnabled
设置为 true
,视频变成 dark/dimmed 就像上面有叠加层一样。然而,这不会发生在 VideoView
或 ImageView
上,只有 ExoPlayer
。我对 ExoPlayer
、SurfaceView
或 android: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"