android Recyclerview实现类似朋友圈点击添加图片的view
16lz
2021-01-24
微信朋友圈发布新的动态的时候会让我们选择添加图片,点击那个+号图片可以选择图片展示,并且当图片个数超过9张之后+号图片就会消失不见,起初看的时候不知道如何实现,后来看了别人的思路才知道如何实现;ok直接上代码
1.首先是在适配器里面写,所以需要写一个适配器继承RecyclerView.Adapter
2.重写方法.
@Override public int getItemViewType(int position) { if (isShowAddItem(position)) { return TYPE_CAMERA;// 添加图片---也就是那个大大的+号图片 } else { return TYPE_PICTURE;// 显示图片--显示你选择的照片 } } @Override 重写此方法,以满足不满9张可以显示添加图片的那个+public int getItemCount() { if (list.size() < selectMax) { return list.size() + 1;// 注意这里,这里会做判断,若图片集合大小小于最多显示几张那么就让count+1
} else { return list.size(); } } 主要是利用了上述两种方法获取对应位置展示的视图.此外,需要在适配器中另外写一个方法,用来作为标志是显示+还是显示图片 /** * @param position * @return 是否显示添加图片的按钮 */ private boolean isShowAddItem(int position) { // TODO: 2017/3/22 选择视频之后隐藏添加按钮 int size = list.size() == 0 ? 0 : list.size();// 第0个位置,集合为0 返回为true; 第一个位置position=1,list.size=3,size=3 返回false return position == size; } 在
onBindViewHolder方法里面,我们传入position判断当前未知是显示+还是显示我们选择的图片.基本上主要的逻辑处理就结束了.若有不对之处,请回复一下我,谢谢.
更多相关文章
- 小记Activity生命周期(onCreate)
- unity和Android之间互相调用
- Android(安卓)Service更新UI的方法之AIDL
- android桌面小部件appwidget使用ListView或者StackView如何刷新
- android sharedpreference保存boolean,int,float,long,String和图片
- 《Android开发艺术探索》笔记(五)
- androidP 系统集成时发现部分应用初次打开时提示此应用专为低版
- Android之AlertDialog的基础使用
- Mediaplayer中通过create函数获取资源时PreareAsync问题