Estoy usando ExoPlayer2 y lo noté cuando uso un tema con < a href = "https://developer.android.com/reference/android/R.attr.html#backgroundDimEnabled" rel = "nofollow noreferrer"> android:backgroundDimEnabled establecido en true, el video se oscurece / atenúa como si tuviera una superposición. Sin embargo, esto no sucede con VideoView o ImageView, solo ExoPlayer. No sé lo suficiente sobre ExoPlayer, SurfaceView o android:backgroundDimEnabled, así que no estoy seguro de por qué sucede esto.

Según tengo entendido, la atenuación del fondo solo debería aplicarse al fondo, y no debería afectar las vistas. Pero si alguien conoce una solución alternativa, sería muy apreciada.

El estilo que causa esto es:

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

He confirmado que el fondo tenue es el culpable.

0
Parker 21 ene. 2018 a las 19:53

3 respuestas

La mejor respuesta

Encontró el problema, gracias a en Android emulador (¿hw también?) un estilo de actividad con backgroundDimEnabled también atenúa la salida GLSurfaceView

El problema se debe a cómo se representa SurfaceView, por lo que establecer el orden z en la parte superior corrige esto:

(simpleExoPlayerView?.videoSurfaceView as SurfaceView)?.setZOrderOnTop(true)
1
Parker 21 ene. 2018 a las 18:23

Puedes agregar esto al atributo

app:surface_type="texture_view"
0
Jetwiz 23 oct. 2019 a las 06:20

Puede establecer "backgroundDimEnabled" en falsa;

0
mohammad rezai 19 sep. 2018 a las 11:50
48369284