最后实现的正常的页面效果:
问题出在xml布局层级关系,只要层级关系布置好就行了,关键点就是 TabLayout+ViewPager必须在同一个ViewGroup里,DrawerLayout放在xml代码最后写,大概就是这样:
<!-- TabLayout+ViewPager布局 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="30dp"
app:tabGravity="center"" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 侧滑抽屉 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="@dimen/drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
android:orientation="vertical">
</androidx.appcompat.widget.LinearLayoutCompat>
其实这个页面是在app里很常见的一个模式,这两货是不存在什么手势冲突的(其他页面实现不谈),只是我一个小白从别人拿接手了一个写了一点的项目,然后。。悲剧就发生了而已,昨天花了一个下午找这个问题(真的就还以为是侧滑手势导致了viewpage滑动切换页面手势失效了),今天早上决定还是从xml布局文件看起,果然同行坑同行哈哈哈哈哈。也算是学习了,感觉良好。