0

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

Проблема заключается в том:

enter image description here

и моя раскладка деятельность:

<android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <include 
      android:id="@+id/toolbar" 
      layout="@layout/toolbar_top" /> 
    </android.support.design.widget.AppBarLayout> 

мой toolbarTop расположение:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:theme="@style/Base.ThemeOverlay.AppCompat.Dark" 
    android:id="@+id/topBar" 
    android:background="@color/colorPrimary"> 
</android.support.v7.widget.Toolbar> 

и мой фрагмент tablayout:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 

    android:layout_marginBottom="?android:attr/actionBarSize" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     app:tabMaxWidth="0dp" 
     app:tabGravity="fill" 
     app:tabMode="fixed" 
     android:elevation="6dp" 
     android:layout_height="?android:attr/actionBarSize" 
     android:background="@color/colorPrimary" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     app:layout_scrollFlags="scroll|enterAlways|snap" 
     android:layout_height="wrap_content" /> 

</LinearLayout> 

Я пробовал this answer, но это не удалось. Я не могу поместить tablayout в Appbarlayout (который решает проблему), потому что каждый фрагмент будет иметь tablayout.

Любые другие идеи для решения этой проблемы?

+0

В вашем 'TabLayout' установите это свойство:' android: fillViewport = "false" '. – Ironman

+0

он не работал ... все тот же результат –

ответ

0

Вам необходимо включить его в AppbarLayout, чтобы это сделать. Добавьте TabLayout в файл toolbarTop.xml под панелью инструментов.

+0

, если я сделаю так, что каждый фрагмент будет иметь Tablayout –

+0

да, для этого вы можете скрыть вкладку из других фрагментов. getActivity(). FindViewById (R.id.tab_layout) .setVisibility (View.GONE); –

+0

и как настроить tablayout с viewpager во фрагменте? –

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