Android CoordinatorLayout与RecyclerView或Viewpager联动使用时快速上下滑动抖动

Android CoordinatorLayout与RecyclerView或Viewpager联动使用时快速上下滑动抖动

在项目中我们会用到CoordinatorLayout与RecyclerView或Viewpager联动使用的情况,正常情况下是没有问题的,但在快速上下滑动界面的时候就会出现界面抖动的问题了。本篇文章只用作记录问题的解决办法。
问题原因请参考:解决CoordinatorLayout的动画抖动以及回弹问题
CoordinatorLayout详解请参考:针对 CoordinatorLayout 及 Behavior 的一次细节较真

当然,技术太菜了,看了上面的代码,自定义Behavior后也没有效果,不知道哪里出了问题。最后还是靠别人。
最后的解决办法:有效解决办法

引用:

//防止CoordinatorLayout与RecyclerView或Viewpager联动使用时快速上下滑动抖动
    implementation 'com.github.yuruiyin:AppbarLayoutBehavior:v1.0.4'

布局里面在AppBarLayout控件下的app:layout_behavior添加com.yuruiyin.appbarlayoutbehavior.AppBarLayoutBehavior即可。

<com.google.android.material.appbar.AppBarLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:clipChildren="false"
                    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                    app:layout_behavior="com.yuruiyin.appbarlayoutbehavior.AppBarLayoutBehavior"
                    app:elevation="0dp"/>

最后加上混淆:

 #防止CoordinatorLayout与RecyclerView或Viewpager联动使用时快速上下滑动抖动
 -keep class com.google.android.material.** {*;}
 -keep class androidx.** {*;}
 -keep public class * extends androidx.**
 -keep interface androidx.** {*;}
 -dontwarn com.google.android.material.**
 -dontnote com.google.android.material.**
 -dontwarn androidx.**

亲测有效,已在项目中使用

你可能感兴趣的:(Android)