SmartRefreshLayout
SmartRefreshLayout copied to clipboard
🔥下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。
这个版本各种报错
您好,我直接运行,打包编译apk 安装都没问题,但是生成 app bundle后,会出现一个Illegal pattern character 't' 发生在 at com.scwang.smart.refresh.header.ClassicsHeader.(ClassicsHeader.java:205)
在项目中调用finishRefresh的时候,无法关闭刷新动画,尤其在调用autoRefreshAnimationOnly方法后,看源码的逻辑:  当刷新的时候,在0-300ms以内调用finishRefresh方法时,就有可能造成delayed的值为无限接近0,导致动画只执行300ms,但是这个时候的RefreshState还是RefreshReleassed,这就导致了执行了一下代码块,而没有去执行关闭动画;  目前最好的解决就是加个固定的延迟时间,这样能保证有足够的delay时间让RefreshState同步; 总结: 这个库的Refresh同步状态感觉还是有些问题的,会造成状态没有及时同步从而造成错乱,比如isRefreshing也不一定准确,OnRefreshListener是异步返回的,在这里调用View相关的方法会造成生命周期安全问题(尤其在Fragment中),希望能够在新版本中优先修复下。
执行刷新动画的时候,按home键再回到app,重复几次,刷新变成一个圈了 如图 
Hello SmartRefreshLayout Maintainers, I sincerely appreciate your hard work on this project. In today's digital landscape, the security of open - source software (OSS) has become a pressing concern. The...
No virtual method formatted([Ljava/lang/Object;)Ljava/lang/String; in class Ljava/lang/String; or its super classes (declaration of 'java.lang.String' appears in /apex/com.android.art.compatible/javalib/core-oj.jar) com.scwang.smartrefresh.layout.SmartRefreshLayout.dispatchTouchEvent android.widget.FlingAnimationStubImpl.getOptimizeOfVelocityY(FlingAnimationStubImpl.java:200) 2 android.widget.OverScroller.fling(OverScroller.java:475) 3 android.widget.OverScroller.fling(OverScroller.java:441) 4 androidx.recyclerview.widget.RecyclerView$z.c(BoYu:6) 5 androidx.recyclerview.widget.RecyclerView.fling(BoYu:13) 6 androidx.recyclerview.widget.RecyclerView.onTouchEvent(BoYu:52) 7...
/** * 在动画执行时,触摸屏幕,打断动画,转为拖动状态 * @param action MotionEvent * @return 是否成功打断 */ protected boolean interceptAnimatorByAction(int action) { if (action == MotionEvent.ACTION_DOWN) { if (reboundAnimator != null) { if (mState.isFinishing || mState...
目前我们已经做了 webview 的 scrollTop 为 0 时,下拉才触发下拉刷新,但这只解决了页面级滚动冲突,页面内比如 div 的滚动就不行。 一个实际的场景: 一个网页中通过一个按钮打开上拉抽屉,上拉抽屉是一个可滚动的 div,此时网页就需要去处理:当打开抽屉时让页面向上滚 1px,不然抽屉里的 div 就没法滚动。 但是当页面不可滚动的时候,向上滚 1px 就失效了,这时就只能通过 jsBridge 来通知原生端禁用下拉刷新。 目前我们就是这么解决这个问题的,但是这会产生非常多的前端垃圾代码,每次只要涉及到此类页面内滚动的,都要去写禁用和恢复逻辑,经常漏做导致体验差。 有没有什么办法能在原生端解决这个问题? 视频是这个冲突的演示: https://github.com/user-attachments/assets/2e335be5-ed17-4d1d-b2b8-89eb477276e0
报错信息 * What went wrong: Execution failed for task ':app:mergeExtDexDebug'. > Could not resolve all files for configuration ':app:debugRuntimeClasspath'. > Failed to transform constraintlayout-2.2.0.aar (androidx.constraintlayout:constraintlayout:2.2.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE,...
**报错原因:** ClassicsHeader类内236行调用了getSharedPreferences,应该改为在子线程调用。   **报错信息:** java.lang.RuntimeException: StrictMode ThreadPolicy violation at android.os.StrictMode$AndroidBlockGuardPolicy.onThreadPolicyViolation(StrictMode.java:1875) at android.os.StrictMode$AndroidBlockGuardPolicy.lambda$handleViolationWithTimingAttempt$0$android-os-StrictMode$AndroidBlockGuardPolicy(StrictMode.java:1789) at android.os.StrictMode$AndroidBlockGuardPolicy$$ExternalSyntheticLambda1.run(Unknown Source:6) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7898) at java.lang.reflect.Method.invoke(Native Method) at...