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í.
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
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
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
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:
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.