Содержимое макета вкладки не отображается внутри макета фрагмента - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть BottomNavigationView, и у него есть три вкладки. И один BottomNavigationView содержит TabLayout. У меня вопрос, почему контент TabLayout не отображается. Отображаются только заголовки вкладок.

Это один фрагмент XML.

 <android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/txt_profile_about_me"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:textAlignment="viewStart"
        android:textSize="12sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txt_gathring_count" />



    <android.support.design.widget.TabLayout
        android:id="@+id/profile_tabs"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"

        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txt_profile_about_me"
        app:layout_constraintVertical_bias="1.0"
        />

    <android.support.v4.view.ViewPager
        android:id="@+id/profile_viewpager"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@android:color/white"/>

</android.support.constraint.ConstraintLayout>

И мой код следующий.

    ViewPager viewPager = (ViewPager) view.findViewById(R.id.profile_viewpager);
        ProfileTabAdapter adapter = new ProfileTabAdapter(getChildFragmentManager());

        // Set the adapter onto the view pager
        viewPager.setAdapter(adapter);

        // Give the TabLayout the ViewPager
        TabLayout tabLayout = (TabLayout) view.findViewById(R.id.profile_tabs);
        tabLayout.setupWithViewPager(viewPager);

Содержимое вкладки не отображается. Любой совет.

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Правильно ограничьте ваш viewPager.

Попробуйте это:

    <android.support.v4.view.ViewPager
    android:id="@+id/profile_viewpager"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@android:color/white"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/profile_tabs"
    app:layout_constraintBottom_toBottomOf="parent"/>
0 голосов
/ 04 сентября 2018

В вашем TabLayout, ширина равна 0dp, что не будет отображать вкладки, я полагаю.

Кроме того, то же самое для ViewPager, но с высотой и шириной.

Установите ViewPager высоту и ширину на match_parent. Надеюсь, это должно помочь.

Также, возможно, добавив:

app:layout_constraintTop_toBottomOf="@+id/profile_tabs"

К ViewPager должно отображаться содержимое.

...