Cómo implementar la barra de estado inmersiva de Android
La implementación específica es la siguiente:
1. Cree un nuevo estilo de **** público y configure Android: fitSystemWindows=true
lt;! NoTitleBar"gt; lt; nombre del elemento="android: Theme.Light.NoTitleBar"gt; lt; nombre del elemento="android: fitSystemWindows"gt; truelt;/itemgt; lt;/stylegt;
2 .Modifique AndroidManifest.xml para que todos los estilos de actividad estén configurados en AppBaseTheme de forma predeterminada (* Los diferentes proyectos deben manejarse de manera flexible. Los estilos de actividad de los proyectos están todos unificados, por lo que no hay ningún problema con esta configuración, pero en aplicaciones reales, diferentes actividades puede llamar Los estilos son diferentes, los lectores deben configurar sus propios proyectos)
lt; aplicación android: enableBackup="true" android: "icon="@drawable "android: "icon "android: " icono "android: "icono "android: "icono "android: "icono "android: "icono "android: "icono "android: "icono". icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppBaseTheme" android:name="****"gt;
3. Función. Clase de implementación de barra de notificaciones inmersiva, el principio de implementación es muy simple.
1) Determine si la versión actual del sistema es 4.4 o superior, el código de juicio es el siguiente:
if (VERSION.SDK_INT gt; = VERSION_CODES.KITKAT)
2 ) Si es mayor que 4.4, configure la barra de estado para que sea transparente, el código es el siguiente:
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT)
3. La vista raíz activa (DecorView), y luego cree una nueva vista stateBarView y agréguela a la vista raíz (establezca manualmente una ID para ella aquí. La próxima vez que ingrese, primero determine si la vista raíz ha creado stateBarView, y si ha sido creado obtener la Vista directamente). Esto evita la creación repetida, lo que puede provocar pérdidas de memoria)