记DrawerLayout+ViewPager 侧滑和page切换事件冲突(假)

最后实现的正常的页面效果:
正常的效果.GIF

问题出在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布局文件看起,果然同行坑同行哈哈哈哈哈。也算是学习了,感觉良好。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容