仿微信图片上传,带加号,且超过最大数隐藏
1、仿照微信空间上传图片,显示图片数量以及超过最大,上传按钮隐藏功能
2、上效果图
3、上代码,主要是Adapter类
/*** Created by zhangyinlei on 2018/3/2 0002.*/
public class AlbumSelectedShowAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {private static int TYPE_ADD = 0;//添加图片private static int TYPE_COMMON = 1;//普通图片展示private Context context;private LayoutInflater mLayoutInflater;//dataprivate int mMaxAlbum;//最大选择图片的数量private List<String> mStringList;//图片url集合public AlbumSelectedShowAdapter(Context context, List<String> mStringList, int maxAlbum) {this.context = context;this.mStringList = mStringList;this.mMaxAlbum = maxAlbum;this.mLayoutInflater = LayoutInflater.from(context);}@Overridepublic RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {if (viewType == TYPE_ADD) {return new ItemViewHolderAdd(mLayoutInflater.inflate(R.layout.item_album_selected_add, parent, false));} else {return new ItemViewHolderCommon(mLayoutInflater.inflate(R.layout.item_album_selected_common, parent, false));}}@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {View itemView = null;ViewGroup.LayoutParams layoutParams = holder.itemView.getLayoutParams();layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;if (holder instanceof ItemViewHolderAdd) {ItemViewHolderAdd itemViewHolderAdd = (ItemViewHolderAdd) holder;if (position >= mMaxAlbum) {layoutParams.width = 0;layoutParams.height = 0; itemViewHolderAdd.itemView.setVisibility(View.GONE);} else {itemViewHolderAdd.tvNum.setText(position + "/" + mMaxAlbum);itemViewHolderAdd.itemView.setVisibility(View.VISIBLE);itemView = ((ItemViewHolderAdd) holder).itemView;}} else if (holder instanceof ItemViewHolderCommon) {String url = mStringList.get(position);Glide.with(context).load(url).apply(RequestOptions.centerCropTransform()).transition(withCrossFade()).into(((ItemViewHolderCommon) holder).ivCommon);itemView = ((ItemViewHolderCommon) holder).itemView;}if (mOnItemClickListener != null && null != itemView) {itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {int position = holder.getLayoutPosition();mOnItemClickListener.onItemClick(holder.itemView, position);}});}}@Overridepublic int getItemViewType(int position) {return position == mStringList.size() ? TYPE_ADD : TYPE_COMMON;}@Overridepublic int getItemCount() {return mStringList.size() + 1;//加一代表最后一个添加图片按钮}public static class ItemViewHolderAdd extends RecyclerView.ViewHolder {private TextView tvNum;public ItemViewHolderAdd(View itemView) {super(itemView);tvNum = itemView.findViewById(R.id.tv_album_selected_num);}}public static class ItemViewHolderCommon extends RecyclerView.ViewHolder {private ImageView ivCommon;public ItemViewHolderCommon(View itemView) {super(itemView);ivCommon = itemView.findViewById(R.id.iv_album_selected);}}private OnItemClickListener mOnItemClickListener;public void setOnItemClickListener(OnItemClickListener onItemClickListener) {mOnItemClickListener = onItemClickListener;}public interface OnItemClickListener {void onItemClick(View view, int position);}}
在Activity中使用,recycleView
mStringList = new ArrayList<>();mAlbumSelectedShowAdapter = new AlbumSelectedShowAdapter(this, mStringList, mMaxAlbum);mRvAlbumSelected.setLayoutManager(new GridLayoutManager(this, 4));mRvAlbumSelected.setHasFixedSize(true);mRvAlbumSelected.setAdapter(mAlbumSelectedShowAdapter);mAlbumSelectedShowAdapter.setOnItemClickListener(new AlbumSelectedShowAdapter.OnItemClickListener() {@Overridepublic void onItemClick(View view, int position) {if (mStringList.size() == position) {//选择相册功能AlbumUtils.choosePicture(SuggestionActivity.this, false, mMaxAlbum - mStringList.size(), true);} else {//图片展示界面}}});}
仿微信图片上传,带加号,且超过最大数隐藏相关推荐
- android点击加号,Android仿微信图片上传带加号且超过最大数隐藏功能
1.仿照微信空间上传图片,显示图片数量以及超过最大,上传按钮隐藏功能 2.上效果图 3.上代码,主要是Adapter类 /** * Created by zhangyinlei on 2018/3/2 ...
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传
仿照微信,朋友圈分享图片功能 .可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图片 .很不错的源码,大家有需要可以下载看看 . 如果不知道如何上传 ...
- android仿微信图片上传进度,android高仿微信发布动态(选择图片)
[实例简介]Android 超高仿微信图片选择器 [实例截图] [核心代码] public class MainActivity extends Activity implements OnImage ...
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
仿照微信,朋友圈分享图片功能 .可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图片 .很不错的源码,大家有需要可以下载看看 . 微信 微信 微信 ...
- android仿微信图片上传进度,Android开发之模仿微信打开网页的进度条效果(高仿)...
一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下 "仿微信打开网页的进度条效果",你会看到有很多类似的文章,不过他们有个共同点,就是实 ...
- Android使用Retrofit技术仿微信图片上传,可以选择多张图片拍照上传
Android 仿照微信发说说,既能实现拍照,选图库,多图案上传 使用Retrofit技术. 使用方法:详见博客 http://blog.csdn.net/u010046908/article/det ...
- Android 多张图片展示,仿微信图片上传,可以选择多张图片
我们经常会遇到需要多张图片展示上传的需求 ,如图 这样的需求我已经遇到过多次,个人总结一下,希望大家多多指点,支持选择多张图片 布局:一个GridView <com.zuihou.drunken ...
- Android 使用GridView+仿微信图片上传功能(附源代码)
由于工作要求最近在使用GridView完成图片的批量上传功能,我的例子当中包含仿微信图片上传.拍照.本地选择.相片裁剪等功能,如果有需要的朋友可以看一下,希望我的实际经验能对您有所帮助. 直接上图,下 ...
- Android开发之使用GridView+仿微信图片上传功能(附源代码)
前言:如果转载文章请声明转载自:https://i.cnblogs.com/EditPosts.aspx?postid=7419021 .另外针对有些网站转载本人的文章结果源码链接不对的问题,本人在 ...
- 微信发送图片php,PHP怎么实现微信图片上传到服务器?
这篇文章主要介绍了PHP实现微信图片上传到服务器的方法,涉及php基于curl操作图片文件的相关实现技巧,需要的朋友可以参考下 本文实例讲述了PHP实现微信图片上传到服务器的方法.分享给大家供大家参考 ...
最新文章
- linux平台学x86汇编语言学习集合帖
- bootstrap栅格分5等分
- 未转变者服务器床id,最新id欢迎补充
- 6 张图带你彻底搞懂分布式事务 XA 模式
- termux怎么安装python库_Python termux-apt-repo包_程序模块 - PyPI - Python中文网
- docker安装redis并设置密码
- C# 读取指定文件夹下所有文件
- getParameter和getAttribute区别(超详细分析)
- 使用delphi 10.2 开发linux 上的Daemon
- 【c语言】打印出100以内奇数
- 圈子圈套,何谓成功?
- html5 地图插件,推荐:7款个性化jQuery/HTML5地图插件
- python有没有网页版的pyqt_Python PyQT Web浏览器书签
- 解决 fxp/composer-asset-plugin 包报错问题
- 网络适配器有感叹号(56)
- SQL-spj库创建脚本
- MATLAB(矩阵基本运算)
- 厦门大学计算机专业周奕毅,厦门大学2020年博士后招收计划[010].PDF
- fatal error C1061: compiler limit : blocks nested too deeply 原因以及解决办法
- 什么是cross join,inner join,left join,right join以及full outer join
热门文章
- CentOS镜像中替换安装镜像的小系统的内核方法
- linux内核分析与应用 -- 并发(上)
- error: implicit declaration of function ‘elv_next_request’
- Idle进程的切换过程
- A - Six Degrees of Cowvin Bacon POJ - 2139 最短路Floyd
- python计算圆环的面积_基于Python制作美观动态圆环图、饼图
- 4207. 最长合法括号子序列
- 科学计算库BLAS LAPACK ATLAS OpenBLAS MKL EIGEN等之间的关系
- hdu1133-----递推+大数
- CodeforcesRound#498 (Div.3)E题Military Problem