Home > Java > javaTutorial > Android implements immersive notification bar. The background color of the notification bar changes according to the background color of the app navigation bar.

Android implements immersive notification bar. The background color of the notification bar changes according to the background color of the app navigation bar.

高洛峰
Release: 2017-01-20 15:48:03
Original
1934 people have browsed it

Recently, many apps have satisfied the immersive notification bar. The so-called immersive notification bar: It hides the various interface operation spaces used for navigation in a scenario dominated by program content, through a relatively "invisible" interface. To maximize the user's visibility to the content itself.

The notification bar immersion mode of the latest Android 4.4 system is that when the software is opened, the notification bar and the top color of the software are integrated. This not only makes the software and the system itself more integrated. The color of the notification bar of the mobile phone is no longer just white or black. The Xiaomi Mi 4 mobile phone I use, the built-in software of the Mi 4 mobile phone supports the immersive notification bar. For example: you can take a look at your own QQ, the background color of its title is blue, then the notification bar will also turn blue. It may not have been possible before, but it has been supported recently.

I don’t know when miui6 will be supported uniformly. Let me tell you how to make your app support the immersive notification bar:

There are experts on github who have researched it. Let’s talk about how to achieve it:

First download SystemBarTint and convert it inside Copy SystemBarTintManager.java and put it into your own project. Judge and set the color of the notification bar in the onCreate() method of activity (the color needs to be defined according to the background of the titlebar of the software)

Code 1 :

The code is as follows:

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);//通知栏所需颜色
Copy after login

The following is to set the status of the notification bar

@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);
}
Copy after login

This way you can achieve perfect immersion Notification bar. Note that the system must be above 4.4. Friends, come and give it a try.

Code 2:

The background color of the notification bar (notification) changes according to the background color of the app navigation bar (top title).
This is also called the immersive status bar, which was proposed by Google in Android 4.4 and above.
The style is as shown in the figure:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
Copy after login

Then add in the xml layout file:

android:clipToPadding="false"
android:fitsSystemWindows="true"
Copy after login

More Android implementations of immersive notification bar notification bar background color follow For related articles about changing the background color of the app navigation bar, please pay attention to the PHP Chinese website!


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template