[Android Pro] ScrollView嵌套RecyclerView时滑动出现的卡顿
Android 出现 Pro 滑动 嵌套 RecyclerView ScrollView 卡顿
2023-09-14 08:56:59 时间
reference to : http://zhanglu0574.blog.163.com/blog/static/113651073201641853532259/
ScrollView嵌套RecyclerView时滑动出现的卡顿
现象:
一个界面有多个RecyclerView以及其他一些内容,这 时要上下滚动就会使用外面嵌套一个ScrollView,虽然我没有遇到像ScrollView嵌套ListView时那样只显示部分,剩余不显示,可能 是因为我内容少吧,所以没有遇到这个,但是在滑动的时候如果是在RecyclerView上滑动,这时会出现只滑动动该RecyclerView的内容上 就会停止,而如果是在其他内容上滑动时就可以很顺畅的滑下去,因此就会感觉到卡顿的样子。
解决:禁止RecyclerView的滑动。
最简单方便的就是直接
linearLayoutManager = new LinearLayoutManager(context) {
@Override
public boolean canScrollVertically() {
return false;
}
};
public class ScrollGridLayoutManager extends GridLayoutManager {
private boolean isScrollEnabled = true;
public ScrollGridLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public ScrollGridLayoutManager(Context context, int spanCount) {
super(context, spanCount);
}
public ScrollGridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout) {
super(context, spanCount, orientation, reverseLayout);
}
public void setScrollEnabled(boolean flag) {
this.isScrollEnabled = flag;
}
@Override
public boolean canScrollVertically() {
//Similarly you can customize "canScrollHorizontally()" for managing horizontal scroll
return isScrollEnabled && super.canScrollVertically();
}}
相关文章
- android 的hook技术,Android Native Hook技术(一)
- strictmode android,Android 应用性能优化-StrictMode(严格模式)
- android开发笔记之 Android代码混淆打包
- android 混淆规则作用,Android代码混淆详解
- android onresume方法,Android onActivityResult()和onResume()的执行顺序
- android退出app代码,Android应用退出代码各种方式
- 快速解决Android中的selinux权限问题
- Android数据存储的五种方式
- android 设置标题栏背景颜色_状态栏菜单栏都在哪
- Android Services Library_android freeware
- android 锁屏壁纸时钟,桌面锁屏时钟下载-桌面锁屏时钟app安卓版v2.8.0-七度网「建议收藏」
- Android 数据库加密 android-database-sqlcipher 开源版本编译过程
- Android Kotlin制作签名白板并保存图片
- android开发 加载so库的解析和出现的各种错误分析
- 【Android 应用开发】Android - 时间 日期相关组件
- 【Android 安全】DEX 加密 ( DEX 加密原理 | DEX 加密简介 | APK 文件分析 | DEX 分割 )
- 【Android Gradle 插件】ProductFlavor 配置 ( multiDexEnabled 配置 | multiDexKeepFile | multiDexKeepProguard )
- 【错误记录】未安装该应用 ( 在 Android 12 之后 组件设置 android:exported=“false“ 属性 )
- 【ijkplayer】编译 Android 版本的 ijkplayer ⑤ ( 执行 init-android-libyuv.sh | 执行 init-android-soundtouch.sh )
- 【Android NDK 开发】CMake 中查找链接 Android 自带动态库位置说明 ( ndk-bundleplatformsandroid-29arch-armusrlib )
- Android开发学习总结(二)——使用Android Studio搭建Android集成开发环境详解手机开发
- [android] 看博客学习Android常见的几种RuntimeException详解手机开发
- android 减少图片出现oom错误详解手机开发
- android studio签名详解手机开发
- android进程 清理及activity栈管理详解手机开发
- Android Studio 导入项目 出现安装Error:Cause: failed to find target with hash string ‘android-23’ 等错误详解手机开发
- Google要求Android新机必须预装20余款自家应用
- android开发教程之日历项目实践(一)
- Android图片处理实例介绍(图)
- Android实现关机重启的方法分享
- Android集成新浪微博第三方登录的方法