Содержимое макета вкладки не отображается внутри макета фрагмента
У меня есть 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 ответа:
Правильно ограничьте ваш видоискатель.
Попробуйте это:
<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"/>
В вашем
TabLayout
, ширина0dp
, который не будет показывать вкладки, я полагаю.Также, то же самое для
ViewPager
, но с высотой и шириной.Задайте
ViewPager
высоту и ширинуmatch_parent
. Надеюсь, это поможет.Также, возможно, добавив a:
app:layout_constraintTop_toBottomOf="@+id/profile_tabs"
К
ViewPager
должно показать содержание.