Android CoordinatorLayout – несоответствия между версиями Android

Я использовал библиотеку дизайна поддержки Android, чтобы создать представление профиля для приложения, над которым я работаю.

Профиль состоит из заголовка с изображением заголовка в качестве фона и закругленного профиля в центре. Кроме того, есть небольшой вид в нижнем углу заголовка.

Ниже заголовка находится viewpager с tablayout.

Проблема, с которой я сталкиваюсь, заключается в том, что между Android 5.1.1 и 5.0.2 и ниже существуют несоответствия.

Вот как профиль отображается на Nexus 5 с 5.1.1 Android: Здесь нет TabLayout

И вот как профиль отображается на Xperia Z2 с 5.0.2 Android: Заголовок не отображает представления внутри CollapsingToolbarLayout

Вот код:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:background="@color/white"> <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_height="250dp" android:layout_width="match_parent" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/profile_collapsingtoolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <ImageView android:id="@+id/profile_header" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:scaleType="centerCrop" app:layout_collapseMode="parallax" app:layout_scrollFlags="scroll|enterAlways"/> <com.makeramen.roundedimageview.RoundedImageView android:id="@+id/profile_image" android:layout_width="90dp" android:layout_height="90dp" app:riv_corner_radius="45dp" app:riv_border_color="@color/red" app:riv_border_width="1dp" android:layout_gravity="center" app:layout_collapseMode="none" app:layout_scrollFlags="scroll|enterAlways" /> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:layout_margin="5dp" android:layout_gravity="bottom|right" android:background="@drawable/shape_usertype_background"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="12sp" android:textColor="@color/white" android:text="Professional"/> </FrameLayout> <android.support.v7.widget.Toolbar android:id="@+id/profile_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/profile_pager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" android:paddingTop="45dp"/> <android.support.design.widget.TabLayout android:id="@+id/profile_tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:layout_behavior="@string/appbar_scrolling_view_behavior" app:tabGravity="center" app:tabMode="scrollable" app:tabIndicatorColor="@color/red" app:tabTextColor="@color/main_dark" app:tabSelectedTextColor="@color/red" android:fitsSystemWindows="true" app:layout_anchor="@id/appbar" app:layout_anchorGravity="bottom" android:background="@color/white" /> <android.support.design.widget.FloatingActionButton android:id="@+id/profile_floatingbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" android:clickable="true" android:src="@android:drawable/ic_menu_share" app:backgroundTint="@color/red" app:layout_anchor="@id/profile_pager" app:layout_anchorGravity="bottom|right|end" app:rippleColor="@android:color/darker_gray" app:borderWidth="0dp"/> </android.support.design.widget.CoordinatorLayout> </FrameLayout> 

Итак, у кого-нибудь есть идея, как это исправить?

Благодаря!

Дизайн-библиотека , к сожалению, довольно глючит, и ее следует считать «бета», а не готовой к производству. Он выглядит и ведет себя по-разному в зависимости от версии Android, на которой работает приложение, и проблемы, которые я обнаружил, связаны не только с CoordinatorLayout , но даже относительно простой виджет, такой как TextInputLayout , не работает одинаково везде. Знание библиотеки дизайна – это совершенно свежий продукт, я не уверен, что стоит потратить свое время на работу (не исправлять) ошибки Google. Я просто буду ждать следующей итерации библиотеки, ожидая улучшений и исправлений ошибок.

Intereting Posts
Изменение метаданных манифеста из кода Отключение автовстречи в WebView? Создание эмулятора Galaxy S5 ListView, атрибут id которого является «android.R.id.list» Ошибка при правильном наборе идентификатора ListView Achartengine toScreenPoint (double) всегда возвращает nullPointerException Android проверяет, существует ли файл на удаленном сервере, используя его URL-адрес Добавление флагов в PendingIntent RxAndroid, шина событий и жизненный цикл активности Слишком много ссылок на методы в проекте библиотеки Android – ClassNotFoundException Поддержание двунаправленного соединения UDP Возможно ли установить расширенное уведомление по умолчанию в сообщениях с большим текстом? Android TextToSpeech просто произносит короткие слова вместо произнесения их Android Studio не подписывает код для сборки отладки Исключение для Android – Неизвестное происхождение (возможно, виджет) Использование диалога общего доступа в Android Facebook SDK. Как узнать, действительно ли пользователь разделяет или отменяет совместную деятельность?