【绝对干货】完美解决AppBarLayout的滑动问题

前言

首先,我相信Android应用层开发的小伙伴们大部分都使用过AppBarLayout这个布局吧。对,就是大家所熟悉的经典的CoordinatorLayout + AppBarLayout + CollapsingToolbarLayout + TabLayout + NestedScrollView(不知道如何使用的可以参考这篇文章 //www.greatytc.com/p/06c0ae8d9a96 )。也许大家都会认同以上布局组合在实际应用场景中非常好用,然而,AppBaryLayout其实还是存在着一些滑动问题的。

问题描述

  1. 快速滑动AppBarLayout会出现回弹;
  2. 快速滑动AppBarLayout到折叠状态下,立马下拉会出现抖动现象;
  3. 滑动AppBarLayout过程中,无法像RecyclerView那样通过手指按下停止滚动。

问题分析

一切都是AppBarLayout的惯性滑动(fling)事件惹的祸。

解决方案

gradle

Step 1. Add the JitPack repository in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Step 2. Add the dependency in your app build.gradle:

dependencies {
    implementation 'com.github.yuruiyin:AppbarLayoutBehavior:v1.0.2'
}

xml

<android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:fitsSystemWindows="false"
        app:layout_behavior="com.yuruiyin.appbarlayoutbehavior.AppBarLayoutBehavior"
        >

        ......

</android.support.design.widget.AppBarLayout>

来自( https://github.com/yuruiyin/AppbarLayoutBehavior ) 。
其实就是从AppBarLayout的惯性滑动开刀,在合适的时机停止惯性滑动即可。对如何解决感兴趣的同学,可以直接查看源码研究,也希望有遇到什么问题的小伙伴可以提issue来互相探讨。

总结

本文虽然没有详细介绍问题的解决思路,但是我相信本文绝对干货,因为你用了上面所述的AppBarLayoutBehavior,就可以开开心心地使用几近完美的AppBarLayout了。难道这还不够吗? 对,当然不够,因为俗话说得好:我们不仅要知其然,还得知其所以然。所以呢,还是希望大家自行去研究一下我提交到github上面的AppbarLayoutBehavior的源码

题外话

如果觉得本文的内容有帮助到大家就给个赞呗~

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

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,480评论 2 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,625评论 25 709
  • PX特点 1. IE无法调整那些使用px作为单位的字体大小; 2. 国外的大部分网站能够调整的原因在于其使用了em...
    晓卢轩阅读 2,515评论 0 0
  • 我觉得一个人最幸福的是脚下有路,手里有钱,也就是有足够的资金去支持自己到处旅行,去看遍祖国的大好河山,拓宽自己的视...
    爱吃甜食也爱你阅读 4,455评论 0 1
  • 自从开始导引、太极以来,都穿舒适的平底鞋,这几天北京连天的雷阵雨,不得不把雨靴找出来穿。穿了几天雨靴,越发觉得不舒...
    邵清清静阅读 2,778评论 2 1