Я следую примеру от here, чтобы интегрировать новую библиотеку поддержки дизайна материалов в NavigationView в мое приложение.Android NavigationView (материальная поддержка lib) не взаимодействует со строкой состояния должным образом
Мой общий план выглядит следующим образом:
activity.xml
<android.support.v4.widget.DrawerLayout
android:fitsSystemWindows="true">
<!-- main content -->
<android.support.design.widget.NavigationView
.. />
</android.support.v4.widget.DrawerLayout>
themes.xml
<style name="MyTheme" extends "Theme.AppCompat.Light.NoActionBar">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
MyActivity.java
onCreate(..) {
..
// This color can be different depending on some conditions.
DrawerLayout.setStatusBarBackground(color);
}
Однако, я получаю серый и строка NavigationView
не отображается в строке состояния. Я думаю, что серый индикатор состояния - это потому, что я не определил пользовательский colorPrimaryDark
attr в теме. Однако я бы предположил, что DrawerLayout.setStatusBarBackground
переопределит и установит цвет строки состояния. Я не могу найти много документации по новому NavigationView
. У кого-нибудь есть идеи?
вы уверены, что ваш '' NavigationView' имеет андроид: fitsSystemWindows = «истинный» 'слишком – xip
я попытался добавить Аттрибут на' Navigat? ionView', но это не имело никакого эффекта. Строка состояния остается серым и непрозрачным. Это почти так, как будто 'android: windowDrawsSystemBarBackgrounds' ничего не делает, потому что' DrawerLayout.setStatusBarBackground' не меняет цвет строки состояния ... – Jin
'DrawerLayout.setStatusBarBackBackground (color)' должен вызывать 'NotFoundException'. Вместо этого вы должны использовать 'DrawerLayout.setStatusBarBackgroundColor (color)'. Или это просто ошибка в вопросе? – xip