Pantalla completa de Android y resumen de la barra de estado transparente

Por lo general, se requiere que la página de inicio se muestre en pantalla completa, y puede haber una animación que oculta la barra de estado en pantalla completa. La experiencia del usuario no es muy buena. Ahora, básicamente, se convierte en una barra de estado transparente y el El efecto de la pantalla de iOS es el mismo, así que aquí hay un resumen. La siguiente es la representación. No es obvio que la barra de estado transparente deba establecerse globalmente para mí.

Gif de pantalla completa

1. Visualización de pantalla completa

Hay dos formas de controlar la visualización de pantalla completa, una es a través del código y la otra es controlar directamente el tema de la actividad correspondiente. Puede haber efectos de animación excesivamente ocultos al saltar, y personalmente creo que la experiencia del usuario no es muy bien.

1.1 Control de código

public class FullScreenCode extends Activity{
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //去除标题栏
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //全屏展示
        getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);

        setContentView(R.layout.activity_fullscreen_layout);
    }
}

Nota:
1. Para eliminar la barra de título y la visualización en pantalla completa, debe llamar antes de setContentView.
2. AppCompatActivity no se puede heredar; de lo contrario, se informará un error, de la siguiente manera

Heredar el error de AppCompatActivity


1.2 Control en AndroidManifest.xml

En xml

        <activity android:name=".views.activity.FullScreenXml" android:theme="@style/AppTheme.Fullscreen"/>

style.xml
NoActionBar no es una barra de título

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
    </style>

    <style name="AppTheme.Fullscreen">
        <item name="android:windowFullscreen">true</item>
    </style>

2. Barra de estado transparente

Usando la barra de estado transparente directamente, la experiencia del usuario será mejor.

Configurar directamente en styles.xml causará un error

Escriba la descripción de la imagen aquí

Lo anterior muestra que el atributo de la barra de estado transparente solo se admite por encima de 4.4 . Entonces necesita crear un nuevo styles.xml de valores v19

Escriba la descripción de la imagen aquí

Los atributos en styles.xml en values-v19 han agregado el atributo de windowTranslucentStatus

<resources>


    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    </style>
    <!-- <item name="android:windowTranslucentNavigation">true</item>-->

    <style name="AppTheme.TranslucentStatus">
        <item name="android:windowTranslucentStatus">true</item>
    </style>

</resources>

Referencias específicas, los dispositivos por encima de 4.4 se ejecutarán automáticamente a v19 para llamar

<activity android:name=".views.activity.FullScreenXml4" android:theme="@style/AppTheme.TranslucentStatus"/>

Representaciones finales:

Escriba la descripción de la imagen aquí


3. Resumen

Aquí hay un resumen, porque cuando estaba a punto de escribir hoy, de repente tuve una mano y todavía necesito mirar el código anterior o encontrar información. Además, la información que encontró Baidu era inexplicable o el formato era desordenado, básicamente lo mismo.
Por tanto, el registro se resume para facilitar su revisión posterior.

Supongo que te gusta

Origin blog.csdn.net/android_freshman/article/details/52956397
Recomendado
Clasificación