回答

2

Google IO 2014应用程序使用ScrimInsetsFrameLayout为状态栏着色(导航抽屉会覆盖状态栏)。我强烈建议使用它我已经尝试了很多,它效果最好! ;-)

为了让ScrimInsetsFrameLayout工作你需要做四两件事:

1)的ScrimInsetsFrameLayout类添加到您的项目。

2.)使用ScrimInsetsFrameLayout作为您活动xml文件中的抽屉列表的根元素。重要提示:设置android:fitsSystemWindowstrueDrawerLayoutScrimInsetsFrameLayout

3)在你活动主题(-v21)XML添加行<item name="android:statusBarColor">@android:color/transparent</item>。 (否则,“正常”状态栏将覆盖ScrimInsetsFrameLayout的状态栏。)

4)在您的活动,初始化抽屉和DrawerLayout像往常一样,然后调用 drawerLayout.setStatusBarBackgroundColor(color)到彩色状态条。

在Google IO应用中,这是在setupNavDrawer()方法中完成的BaseActivity