Android RecyclerView+StaggeredGridLayoutManager实现瀑布流图片闪烁问题
来源:互联网 发布:js自定义回调函数 编辑:程序博客网 时间:2024/06/10 05:25
:瀑布流展示图片列表,但是没有给出图片大小比例,需要下载图片后计算出图片比例在设置Item高度,已经做了部分处理,但是还会出现Item位置乱动在刷新时出现图片闪烁。
已使用网上的部分解决方案:
1. layoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE); 2. mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); layoutManager.invalidateSpanAssignments(); } }); 3.在适配器中添加Map<Integer,Integer>并在的getView()方法中将对应位置VIew的高度存储到map中 int viewHeight = map.get(position); if(viewHeight != 0){ ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams(); layoutParams.height = imageHeight; imageView.setLayoutParams(layoutParams); }else{ //网络请求获取到图片的Drawable或者bitmap,得到图片宽高比例,并得到View高度viewHeight map.put(position,viewHeight); ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams(); layoutParams.height = imageHeight; imageView.setLayoutParams(layoutParams); }
我使用第一个方法,会造成图片不显示
layoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);
所以现在没有使用第一个方法,只使用的第二个方法和固定图片的宽高。
使用map记录每一个item的高度,并且第一个和第二个Item高度相同这样解决了跳动的问题,当第一个和第二个高度不同时,还是会跳动。
在模拟上和魅族上没有跳动的问题,在YunOs上还是会跳动,猜想可能和系统有关,
如果还没有解决,建议看下面这篇文章
http://blog.csdn.net/windows771053651/article/details/51596744
阅读全文
0 0
- Android RecyclerView+StaggeredGridLayoutManager实现瀑布流图片闪烁问题
- Android 关于RecyclerView瀑布流显示图片时Item切换、闪烁等问题优化
- Android中Recyclerview使用13----实现瀑布流遇到的各种问题(item移动,加载更多图片闪烁,以及定制各种类型Header和Footer)
- RecyclerView和StaggeredGridLayoutManager实现瀑布流向下滑动item跳动、留白的问题
- 使用StaggeredGridLayoutManager瀑布流,Glide显示图片
- RecyclerView实现图片瀑布流
- 使用StaggeredGridLayoutManager实现瀑布流效果
- 使用StaggeredGridLayoutManager实现瀑布流效果
- RecyclerView采用StaggeredGridLayoutManager布局的瀑布流效果
- Android中RecyclerView实现瀑布流图片显示
- Android ViewPager+RecyclerView+StaggerLayoutManager瀑布流图片单选实现
- 【Android-RecyclerView】瀑布流实现
- 【Android-RecyclerView】瀑布流实现
- Android RecyclerView实现瀑布流
- RecyclerView实现瀑布流遇到的各种问题(item移动,加载更多图片闪烁,以及定制各种类型Header和Footer)
- 解决瀑布流recyclerview的闪烁移动问题
- RecyclerView加载瀑布流,图片自适应问题
- RecyclerView实现瀑布流,图片自适应高度
- Android中在string.xml中使用特殊字符
- 数据库(第一范式,第二范式,第三范式)
- OpenCV + Java(Android) 设置ROI
- 这几天遇到的es6新玩意儿
- 60. Permutation Sequence(C++)
- Android RecyclerView+StaggeredGridLayoutManager实现瀑布流图片闪烁问题
- DroidPlugin开源插件研究资料整理
- Ubuntu16.04/16.10下Tensorflow demo在Android上的移植
- zxing乱码解决
- Arduino+ESP8266WIFI(1)——模块测试
- DM8168 + Linux RS485控制
- 重载(overload)和重写(override)的区别
- 【easyUI】使用datagrid创建具有不同表头的表格
- 【总结】设备树语法及常用API函数