Android RecyclerView+StaggeredGridLayoutManager实现瀑布流图片闪烁问题
2017-07-04 18:48
579 查看
:瀑布流展示图片列表,但是没有给出图片大小比例,需要下载图片后计算出图片比例在设置Item高度,已经做了部分处理,但是还会出现Item位置乱动在刷新时出现图片闪烁。
已使用网上的部分解决方案:
我使用第一个方法,会造成图片不显示
所以现在没有使用第一个方法,只使用的第二个方法和固定图片的宽高。
使用map记录每一个item的高度,并且第一个和第二个Item高度相同这样解决了跳动的问题,当第一个和第二个高度不同时,还是会跳动。
在模拟上和魅族上没有跳动的问题,在YunOs上还是会跳动,猜想可能和系统有关,
如果还没有解决,建议看下面这篇文章
http://blog.csdn.net/windows771053651/article/details/51596744
已使用网上的部分解决方案:
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
相关文章推荐
- Android中Recyclerview使用13----实现瀑布流遇到的各种问题(item移动,加载更多图片闪烁,以及定制各种类型Header和Footer)
- [置顶] RecyclerView和StaggeredGridLayoutManager实现瀑布流向下滑动item跳动、留白的问题
- Android 关于RecyclerView瀑布流显示图片时Item切换、闪烁等问题优化
- RecyclerView实现瀑布流遇到的各种问题(item移动,加载更多图片闪烁,以及定制各种类型Header和Footer)
- (4.1.11.1)Android中使用RecyclerView和CardView实现瀑布流效果(StaggeredGrid)
- Android中RecyclerView实现瀑布流图片显示
- RecyclerView采用StaggeredGridLayoutManager布局的瀑布流效果
- Android RecyclerView的StaggeredGridLayoutManager和CardView
- Android中使用RecyclerView和CardView实现瀑布流效果(StaggeredGrid)
- Android_Volley+Image-Loader+RecyclerView实现网络下载图片瀑布流
- Android RecyclerView+StaggerLayoutManager实现瀑布流单选item乱跳
- RecyclerView 瀑布流的配置以及它的 StaggeredGridLayoutManager 布局管理器的使用
- Android 解决RecyclerView瀑布流效果结合Glide使用时图片变形的问题
- Android RecyclerView的StaggeredGridLayoutManager和CardView
- Android RecyclerView瀑布流布局添加Footer实现上拉加载
- 由于Android列表视图复用到之后的Imageview异步加载图片时候闪烁问题
- Android 中 WebView 与 js 简单交互实现图文混排效果,解决图片自适应屏幕与查看大图问题
- Android使用RecyclerView和Picasso实现大规模浏览网络图片(附带缓存技术)
- Android自定义控件:imageview重写onMeasure方法实现图片按指定比例显示,拉伸永不变形,解决屏幕适配问题
- android 瀑布流的实现(用recyclerview的实现的)