我已经按照材料设计实现了一个导航抽屉,该如何使用DrawerLayout在ActionBar / Toolbar上方和状态栏下方显示?但是,因为我的抽屉是白色的,这会导致状态栏出现问题。Google I / O 2014应用程序在导航抽屉上的状态栏上设置了颜色,它如何实现此目的?我找不到它的源代码。
Google IO 2014应用程序使用ScrimInsetsFrameLayout着色状态栏(导航抽屉将覆盖状态栏)。我强烈建议使用它,我已经尝试了很多,并且效果最好!;-)
要使ScrimInsetsFrameLayout正常工作,您需要做四件事:
1.)将ScrimInsetsFrameLayout
类添加到您的项目中。
2.)将ScrimInsetsFrameLayout用作活动xml文件中抽屉列表的根元素。重要提示:设置android:fitsSystemWindows
要true
为双方的DrawerLayout
和ScrimInsetsFrameLayout
3.)在您的活动主题(-v21)xml中添加以下行<item name="android:statusBarColor">@android:color/transparent</item>
。(否则,“正常”状态栏将覆盖ScrimInsetsFrameLayout的状态栏。)
4.)在您的活动中,DrawerLayout
像往常一样初始化抽屉和,然后调用drawerLayout.setStatusBarBackgroundColor(color)
以为状态栏着色。
在Google IO App中,这是通过BaseActivity的setupNavDrawer()
方法完成的
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句