scwang90 / SmartRefreshLayout

🔥下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。
https://segmentfault.com/a/1190000010066071
Apache License 2.0
24.88k stars 4.94k forks source link

下拉刷新动画卡死 #1063

Closed ThinkAgains closed 4 years ago

ThinkAgains commented 4 years ago

详细描述 下拉刷新时:onDetachedFromWindow()比finishRefresh()先执行,在onDetachedFromWindow()方法中notifyStateChanged(RefreshState.None)修改成了None状态,执行到finishRefresh()方法时没有对应状态,动画直接卡死不动

使用版本

implementation 'com.scwang.smart:refresh-layout-kernel:2.0.0-alpha-1' 
implementation 'com.scwang.smart:refresh-header-material:2.0.0-alpha-1' 
implementation 'com.scwang.smart:refresh-footer-classics:2.0.0-alpha-1' 

使用代码

SmartRefreshLayout.setDefaultRefreshHeaderCreator(new DefaultRefreshHeaderCreator() {
            @Override
            public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
                MaterialHeader materialHeader = new MaterialHeader(context);
                //  materialHeader.setColorSchemeColors(colorsId);
                layout.setPrimaryColorsId(colorsId, android.R.color.white);//全局设置主题颜色
                return materialHeader;
            }
        });
        SmartRefreshLayout.setDefaultRefreshFooterCreator(new DefaultRefreshFooterCreator() {
            @Override
            public RefreshFooter createRefreshFooter(Context context, RefreshLayout layout) {
                return new ClassicsFooter(context);
            }
        });

布局代码

    <com.scwang.smart.refresh.layout.SmartRefreshLayout
        android:id="@+id/refresh_layout"
        style="@style/constraint_start_end_bottom"
        android:layout_height="0dp"
        app:layout_constraintTop_toBottomOf="@+id/banner_view">

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="none" />
    </com.scwang.smart.refresh.layout.SmartRefreshLayout>

问题重现 问题重现操作步骤:

  1. 进入主页,下拉刷新 '...'

设备信息 每个设备都是这情况 附加信息 猜测可能是嵌套引起

android-xiao-jun commented 4 years ago

同上

ChenPengBo commented 4 years ago

我怀疑是不是使用了androidx问题,我的也是所有都卡顿

ThinkAgains commented 4 years ago

我是项目中与Skeleton骨架屏开源框架一起使用时出现的问题,正常的使用没有问题

ThinkAgains commented 4 years ago

我怀疑是不是使用了androidx问题,我的也是所有都卡顿

应该控件之间addView或嵌套冲突了

maid-sirius commented 4 years ago

同上, 也是用了Skeleton 但不知道是否是此影响

scwang90 commented 4 years ago

卡死问题已经修复

KingShing commented 9 months ago

请问下解决方案再哪看呢