android点击加号,Android仿微信图片上传带加号且超过最大数隐藏功能
1、仿照微信空间上传图片,显示图片数量以及超过最大,上传按钮隐藏功能
2、上效果图
3、上代码,主要是Adapter类
/**
* Created by zhangyinlei on 2018/3/2 0002.
*/
public class AlbumSelectedShowAdapter extends RecyclerView.Adapter {
private static int TYPE_ADD = 0;//添加图片
private static int TYPE_COMMON = 1;//普通图片展示
private Context context;
private LayoutInflater mLayoutInflater;
//data
private int mMaxAlbum;//最大选择图片的数量
private List mStringList;//图片url集合
public AlbumSelectedShowAdapter(Context context, List mStringList, int maxAlbum) {
this.context = context;
this.mStringList = mStringList;
this.mMaxAlbum = maxAlbum;
this.mLayoutInflater = LayoutInflater.from(context);
}
@Override
public 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));
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
View itemView = null;
if (holder instanceof ItemViewHolderAdd) {
ItemViewHolderAdd itemViewHolderAdd = (ItemViewHolderAdd) holder;
if (position >= mMaxAlbum) {
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() {
@Override
public void onClick(View v) {
int position = holder.getLayoutPosition();
mOnItemClickListener.onItemClick(holder.itemView, position);
}
});
}
}
@Override
public int getItemViewType(int position) {
return position == mStringList.size() ? TYPE_ADD : TYPE_COMMON;
}
@Override
public 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() {
@Override
public void onItemClick(View view, int position) {
if (mStringList.size() == position) {
//选择相册功能
AlbumUtils.choosePicture(SuggestionActivity.this, false, mMaxAlbum - mStringList.size(), true);
} else {
//图片展示界面
}
}
});
}
总结
以上所述是小编给大家介绍的Android仿微信图片上传带加号且超过最大数隐藏功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
android点击加号,Android仿微信图片上传带加号且超过最大数隐藏功能相关推荐
- Android 多张图片展示,仿微信图片上传,可以选择多张图片
我们经常会遇到需要多张图片展示上传的需求 ,如图 这样的需求我已经遇到过多次,个人总结一下,希望大家多多指点,支持选择多张图片 布局:一个GridView <com.zuihou.drunken ...
- Android开发之使用GridView+仿微信图片上传功能(附源代码)
前言:如果转载文章请声明转载自:https://i.cnblogs.com/EditPosts.aspx?postid=7419021 .另外针对有些网站转载本人的文章结果源码链接不对的问题,本人在 ...
- 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+仿微信图片上传功能(附源代码)
由于工作要求最近在使用GridView完成图片的批量上传功能,我的例子当中包含仿微信图片上传.拍照.本地选择.相片裁剪等功能,如果有需要的朋友可以看一下,希望我的实际经验能对您有所帮助. 直接上图,下 ...
- 微信发送图片php,PHP怎么实现微信图片上传到服务器?
这篇文章主要介绍了PHP实现微信图片上传到服务器的方法,涉及php基于curl操作图片文件的相关实现技巧,需要的朋友可以参考下 本文实例讲述了PHP实现微信图片上传到服务器的方法.分享给大家供大家参考 ...
最新文章
- 在Gridview控件中根据Field Name来取得对应列索引
- lucas定理 FOJ 2020 组合
- [转帖]不要迷失在技术的海洋中
- 网页设计相关计算机语言,title(计算机语言)
- Zabbix最佳实践一:Zabbix4.0.2的安装与配置
- linux-安装jdk
- 手机屏幕宽高像素计算_2020年的智能手机拍照新设计,就全看下半年了
- php mysql 备份还原_PHP执行Mysql数据库的备份和还原
- 织梦cms仿知名吧站长导航网站模板
- 29岁年薪百万,晋升阿里最年轻P8之一,我想分享8点成长经验
- iOS谁说我不能执行你
- php值班系统,php简单的值日值班处理方法
- 资源搜索神器 海量精品资源教程 大大啦啦资源神器
- 计算几何——判断点是否在多边形内
- BPM就是IT规划与企业战略的最佳匹配
- 拔丝芋头的Java学习日记---Day8
- JavaScript实现贪吃蛇小游戏
- 天水市2021年高考成绩查询,2021年天水高考状元是谁分数多少分,历年天水高考状元名单...
- [WHS] Windows Home Server 官方中文站点上线
- unity3d中隐藏/显示物体方法总结 – unity3d游戏开发
热门文章
- SV_14_Assertions
- 武汉理工大学-并行计算-2020年期末复习指南
- 零基础HTML教程(10)--写一个画龙点睛的标题
- Chrome真机调试安卓和ios
- 旅游网小案例:注册(邮件激活)
- 《未选择的路:The road not taken》
- iOS_仿QQ表情键盘
- centos php 中文乱码,XShell连接CentOS 7.2显示中文乱码问题的解决方法
- Mobileye闯红灯之后,这些问题值得我们深思
- [分享知识]Chrome 键盘快捷键