转发请注明出处:
安卓猴的博客(http://sunjiajia.com)


前言

Google的Material Design的发布让Android具备了更多的个性化元素,例如,“沉浸式”状态栏。问题来了,那么在低版本Android上可以用吗?

其实,在Android >= 4.4的版本中,都可以进行“沉浸式”状态栏适配的,只不过效果不太一样,Android >= 5.0 版本中设置更加简单,Android >= 4.4 但 < 5就比较麻烦。

效果图:

Android >= 4.4 Status Bar
Android >= 4.4 Status Bar

MIUI Status Bar
MIUI Status Bar

Android 5.0+实现方法

参见文章:《Android L+ Theme 与 Toolbar 实例》

Android 4.4 实现方法

1.使用开源库SystemBarTint

2.然后在BaseActivity中的OnCreate方法中进行设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window mWindow = getWindow();
mWindow.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
mWindow.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
SystemBarTintManager mSystemBarTintManager = new SystemBarTintManager(this);
mSystemBarTintManager.setStatusBarTintEnabled(true);
mSystemBarTintManager.setNavigationBarTintEnabled(true);
mSystemBarTintManager.setTintColor(Color.parseColor("#E03131"));
}

结语

文章比较简单,权当记录用吧。最近一直在独立开发一个项目,由于每天时间不多,进度也比较慢。新的App中适配了Material Design,极大的节省了UI的设计时间,况且我还是一个不懂PS的。有兴趣的话,可以交流。

关于我

  • 微信公众号:Android奇想录(android_amazing)
扫描二维码关注公众号
扫描二维码关注公众号