Новая ошибка библиотеки Android Design с AppBarLayout и панелью инструментов

Я использую новую библиотеку Android Design, основанную на этом примере chrisbanes / cheesesquare в github, и здесь

Я привел пример, и у меня проблемы с панелью инструментов внутри CheeseDetailActivity. Панель инструментов не отображается так, как должна. Посмотрите изображения ниже:

На первом изображении вы можете увидеть, что панель инструментов отображается неправильно.

Введите описание изображения здесь

На втором изображении вы увидите, что панель инструментов показана правильно, но панель уведомлений – белая. Это происходит потому, что я удалил из actiivty_detail.xml android:fitsSystemWindows="true" из android:fitsSystemWindows="true" android.support.design.widget.CoordinatorLayout

Введите описание изображения здесь

Я думаю, что fitsSystemWindows должен быть правдой, и проблема связана с android.support.design.widget.AppBarLayout но я не знаю, как я могу исправить эту проблему. Я пробовал с marginTop с той же высотой, что и notificationBar но это не сработало.

Любое предложение оценивается 🙂

Это часть activity_detail.xml :

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="@dimen/detail_backdrop_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp"> <ImageView android:id="@+id/backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:fitsSystemWindows="true" app:layout_collapseMode="parallax" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_collapseMode="pin" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> 

Измените свою библиотеку дизайна на новую версию build.gradle в папке приложения, например:

Компилировать 'com.android.support:design:22.2.1'

Как обновлено в + AndroidDevelopers

Я получил вывод, как:

Введите описание изображения здесь

Это поможет вам.

Благодаря 🙂

Похоже, что это ошибка в com.android.support:design:22.2.0 . Он будет исправлен, он обозначен как будущий выпуск. Поэтому давайте надеяться, что это скоро. Ссылки с вопросами: https://code.google.com/p/android/issues/detail?id=175240 и https://code.google.com/p/android/issues/detail?id=175069

Была та же проблема, что и стиль windowActionBar и windowNoTitle, и решил мою проблему.

 <style name="AppTheme.base" parent="Base.Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> 

Вот несколько рабочих решений для API 21:

  if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) { marginResult = 0; int resourceId = getResources().getIdentifier(getString(R.string.identifier_status_bar_height), getString(R.string.identifier_dimen), getString(R.string.identifier_android)); if (resourceId > 0) { marginResult = getResources().getDimensionPixelSize(resourceId)*2; } CollapsingToolbarLayout.LayoutParams params = (CollapsingToolbarLayout.LayoutParams) mToolbar.getLayoutParams(); params.topMargin -= marginResult; mToolbar.setLayoutParams(params);} 

У меня была такая же проблема, моя панель инструментов отображалась неправильно на уровне API больше 21. Я использовал android.support.v7.widget.Toolbar как supportActionBar (), а ниже содержимое находится в фрагменте, см. Рисунки: при запуске приложения, отображается панель инструментов Неправильно, и когда я оборачиваю android.support.design.widget.CollapsingToolbarLayout, изображение не скрыто полностью

Я решил это, когда добавил андроид: fitsSystemWindows = "true" к корневому элементу вида, где находится панель инструментов.

Теперь: панель инструментов отображается нормально, а изображение полностью скрыто