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 {//图片展示界面}}});}

仿微信图片上传,带加号,且超过最大数隐藏相关推荐

  1. android点击加号,Android仿微信图片上传带加号且超过最大数隐藏功能

    1.仿照微信空间上传图片,显示图片数量以及超过最大,上传按钮隐藏功能 2.上效果图 3.上代码,主要是Adapter类 /** * Created by zhangyinlei on 2018/3/2 ...

  2. Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传

    仿照微信,朋友圈分享图片功能 .可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图片 .很不错的源码,大家有需要可以下载看看 . 如果不知道如何上传 ...

  3. android仿微信图片上传进度,android高仿微信发布动态(选择图片)

    [实例简介]Android 超高仿微信图片选择器 [实例截图] [核心代码] public class MainActivity extends Activity implements OnImage ...

  4. Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等

    仿照微信,朋友圈分享图片功能 .可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图片 .很不错的源码,大家有需要可以下载看看 . 微信 微信 微信 ...

  5. android仿微信图片上传进度,Android开发之模仿微信打开网页的进度条效果(高仿)...

    一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下  "仿微信打开网页的进度条效果",你会看到有很多类似的文章,不过他们有个共同点,就是实 ...

  6. Android使用Retrofit技术仿微信图片上传,可以选择多张图片拍照上传

    Android 仿照微信发说说,既能实现拍照,选图库,多图案上传 使用Retrofit技术. 使用方法:详见博客 http://blog.csdn.net/u010046908/article/det ...

  7. Android 多张图片展示,仿微信图片上传,可以选择多张图片

    我们经常会遇到需要多张图片展示上传的需求 ,如图 这样的需求我已经遇到过多次,个人总结一下,希望大家多多指点,支持选择多张图片 布局:一个GridView <com.zuihou.drunken ...

  8. Android 使用GridView+仿微信图片上传功能(附源代码)

    由于工作要求最近在使用GridView完成图片的批量上传功能,我的例子当中包含仿微信图片上传.拍照.本地选择.相片裁剪等功能,如果有需要的朋友可以看一下,希望我的实际经验能对您有所帮助. 直接上图,下 ...

  9. Android开发之使用GridView+仿微信图片上传功能(附源代码)

    前言:如果转载文章请声明转载自:https://i.cnblogs.com/EditPosts.aspx?postid=7419021  .另外针对有些网站转载本人的文章结果源码链接不对的问题,本人在 ...

  10. 微信发送图片php,PHP怎么实现微信图片上传到服务器?

    这篇文章主要介绍了PHP实现微信图片上传到服务器的方法,涉及php基于curl操作图片文件的相关实现技巧,需要的朋友可以参考下 本文实例讲述了PHP实现微信图片上传到服务器的方法.分享给大家供大家参考 ...

最新文章

  1. linux平台学x86汇编语言学习集合帖
  2. bootstrap栅格分5等分
  3. 未转变者服务器床id,最新id欢迎补充
  4. 6 张图带你彻底搞懂分布式事务 XA 模式
  5. termux怎么安装python库_Python termux-apt-repo包_程序模块 - PyPI - Python中文网
  6. docker安装redis并设置密码
  7. C# 读取指定文件夹下所有文件
  8. getParameter和getAttribute区别(超详细分析)
  9. 使用delphi 10.2 开发linux 上的Daemon
  10. 【c语言】打印出100以内奇数
  11. 圈子圈套,何谓成功?
  12. html5 地图插件,推荐:7款个性化jQuery/HTML5地图插件
  13. python有没有网页版的pyqt_Python PyQT Web浏览器书签
  14. 解决 fxp/composer-asset-plugin 包报错问题
  15. 网络适配器有感叹号(56)
  16. SQL-spj库创建脚本
  17. MATLAB(矩阵基本运算)
  18. 厦门大学计算机专业周奕毅,厦门大学2020年博士后招收计划[010].PDF
  19. fatal error C1061: compiler limit : blocks nested too deeply 原因以及解决办法
  20. 什么是cross join,inner join,left join,right join以及full outer join

热门文章

  1. CentOS镜像中替换安装镜像的小系统的内核方法
  2. linux内核分析与应用 -- 并发(上)
  3. error: implicit declaration of function ‘elv_next_request’
  4. Idle进程的切换过程
  5. A - Six Degrees of Cowvin Bacon POJ - 2139 最短路Floyd
  6. python计算圆环的面积_基于Python制作美观动态圆环图、饼图
  7. 4207. 最长合法括号子序列
  8. 科学计算库BLAS LAPACK ATLAS OpenBLAS MKL EIGEN等之间的关系
  9. hdu1133-----递推+大数
  10. CodeforcesRound#498 (Div.3)E题Military Problem