如何在ViewPager2中使用PagerTabStrip

9
我想使用 ViewPager2,因为它应该替换 ViewPager,我希望能解决一些我遇到的 ViewPager 的问题。
我想做这个:
<androidx.viewpager2.widget.ViewPager2
    android:id="@+id/detail_pager_view"
    android:layout_height="match_parent"
    android:layout_width="match_parent" >

    <androidx.viewpager.widget.PagerTabStrip
        android:id="@+id/detail_pager_strip"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_width="match_parent" />

</androidx.viewpager2.widget.ViewPager2>

但是ViewPager2报错说它不能有任何子元素。另一方面,如果我把PagerTabStrip移出ViewPager2,它会报错,说它必须是ViewPager的一个子元素。
所以看起来PagerTabStripViewPager2不兼容。我的理解是正确的吗?
现在有什么解决方法吗?(除了编写自己的PagerTabStrip

没有找到解决方案吗? - Pavel Poley
@PavelPoley:最终我自己实现了PagerTabStrip功能。 - Andreas Jarl
1个回答

1
参考此,您需要使用TabLayout。 Android中ViewPager2的使用

<com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

    <com.google.android.material.tabs.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
</com.google.android.material.appbar.AppBarLayout>

<androidx.viewpager2.widget.ViewPager2
        android:id="@+id/viewpager"
        app:layout_anchor="@id/tabs"
        app:layout_anchorGravity="bottom"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
/>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接