2017-01-12 2 views
0

У меня возникла проблема, с которой я очень старался, но не смог найти правильное решение с помощью пейджера вида.Высота фрагмента на CollapsingToolbarLayout с TabLayout и ViewPager

У меня есть деятельность с CollapsingToolbarLayout, TabLayout и ViewPager, загружающий 3 фрагмента, а изображение ниже:

enter image description here

Моя проблема с высотой фрагментов, само изображение показывает, что происходит.

Что я могу сделать, чтобы вертикально центрировать содержимое фрагментов?

Ниже мой файл макета:

<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/coordinator_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="306dp" android:minHeight="306dp" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <ImageView 
       android:id="@+id/iv_header_no_image" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="@color/grey_300" 
       android:fitsSystemWindows="true" 
       android:scaleType="centerInside" 
       android:src="@drawable/ic_photo_camera" 
       android:tint="@color/primary_text_color" 
       app:layout_collapseMode="parallax" /> 

      <ImageView 
       android:id="@+id/iv_header" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:fitsSystemWindows="true" 
       android:scaleType="centerCrop" 
       app:layout_collapseMode="parallax" /> 

      <ImageView 
       android:id="@+id/iv_header_overlay" 
       android:layout_width="match_parent" 
       android:layout_height="120dp" 
       android:background="@drawable/toolbar_gradient" 
       android:fitsSystemWindows="true" 
       app:layout_collapseMode="pin" /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:gravity="top" 
       android:minHeight="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       app:titleMarginTop="15dp" /> 

     </android.support.design.widget.CollapsingToolbarLayout> 

    </android.support.design.widget.AppBarLayout> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_gravity="bottom" 
     android:background="@color/background" 
     app:layout_anchor="@id/app_bar" 
     app:layout_anchorGravity="bottom" 
     app:tabGravity="fill" 
     app:tabIndicatorColor="@color/primary_text_color" 
     app:tabSelectedTextColor="@color/primary_text_color" 
     app:tabTextColor="@color/secondary_text_color" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="50dp" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

</android.support.design.widget.CoordinatorLayout> 

PS-х: - Я использую последнюю библиотеку поддержки, сегодня 25.1.0 - Все фрагменты высотой wrap_content

Спасибо заранее

ответ

0

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

По существу, контент уже центрирован, поскольку при прокрутке вниз панель инструментов разрушается, что перемещает фрагмент в «центрированное» положение.

Вы можете поместить содержимое в верхнюю часть фрагмента, чтобы оно выглядело по центру или использовало программный подход, который вычисляет начальное положение по центру в зависимости от высоты экрана.

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

Смежные вопросы