In letzter Zeit haben viele Apps die immersive Benachrichtigungsleiste eingeführt: Sie verbirgt die verschiedenen Bedienbereiche der Benutzeroberfläche, die für die Navigation in einem von Programminhalten dominierten Szenario verwendet werden, um sie durch eine relativ „unsichtbare“ Benutzeroberfläche zu maximieren die Sichtbarkeit des Benutzers für den Inhalt selbst.
Der Immersionsmodus der Benachrichtigungsleiste des neuesten Android 4.4-Systems besteht darin, dass beim Öffnen der Software die Benachrichtigungsleiste und die obere Farbe der Software integriert werden. Dadurch werden nicht nur die Software und das System integriert selbst stärker integriert. Die Farbe der Benachrichtigungsleiste des Mobiltelefons ist nicht mehr nur weiß oder schwarz. Das von mir verwendete Xiaomi Mi 4-Mobiltelefon unterstützt beispielsweise die immersive Benachrichtigungsleiste Wenn Sie sich Ihren eigenen QQ ansehen, ist die Hintergrundfarbe seines Titels blau, dann wird auch die Benachrichtigungsleiste blau. Früher war das vielleicht nicht möglich, aber seit Kurzem wird es unterstützt.
Ich weiß nicht, wann miui6 einheitlich unterstützt wird. Lassen Sie mich Ihnen sagen, wie Sie dafür sorgen, dass Ihre App die immersive Benachrichtigungsleiste unterstützt:
Einige Experten auf Github haben es bereits untersucht. Lassen Sie uns darüber sprechen, wie Sie es implementieren:
Laden Sie zuerst SystemBarTint herunter und konvertieren Sie es Innerhalb Kopieren Sie SystemBarTintManager.java und fügen Sie es in Ihr eigenes Projekt ein und legen Sie die Farbe der Benachrichtigungsleiste in der Aktivitätsmethode onCreate() fest (die Farbe muss entsprechend dem Hintergrund der Titelleiste der Software definiert werden)
Code 1:
Der Code lautet wie folgt:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true); } SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(R.color.statusbar_bg);//通知栏所需颜色
Im Folgenden wird der Status der Benachrichtigungsleiste festgelegt
@TargetApi(19) private void setTranslucentStatus(boolean on) { Window win = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; if (on) { winParams.flags |= bits; } else { winParams.flags &= ~bits; } win.setAttributes(winParams); }
Das ist es. Die perfekte Implementierung der immersiven Benachrichtigungsleiste. Beachten Sie, dass das System über 4.4 sein muss. Freunde, kommt und probiert es aus.
Code 2:
Die Hintergrundfarbe der Benachrichtigungsleiste ändert sich entsprechend der Hintergrundfarbe der App-Navigationsleiste (oberer Titel).
Dies wird auch als immersive Statusleiste bezeichnet, die von Google in Android 4.4 und höher vorgeschlagen wurde.
Der Stil ist wie in der Abbildung dargestellt:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); }
Fügen Sie dann die XML-Layoutdatei hinzu:
android:clipToPadding="false" android:fitsSystemWindows="true"
Weitere Android-Implementierungen immersiver Benachrichtigungen Benachrichtigungen in der Leiste Die Hintergrundfarbe der Leiste ändert sich entsprechend der Hintergrundfarbe der App-Navigationsleiste. Weitere Artikel finden Sie auf der chinesischen PHP-Website.