android从九宫格全屏预览,仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图...
AssNineGridView
仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图(可自定义)。
写在前面
这是一个九宫格控件,本来是很久之前就写好了,现在才开源出来,也是看了很多优秀的框架才整理出来的,希望能够帮助到大家。 该项目是参考了优秀框架:https://github.com/jeasonlzy/NineGridView 修改而成, 调整了个部分源码,使九宫格展示更为合理,喜欢原作的可以去使用。 也希望大家下载体验本项目,个人能力也有限,希望一起学习一起进步。 更多详情,可以参考我的CSDN博客地址:
效果图
九宫格只显示1张图
九宫格只显示2张图
九宫格只显示4张图
九宫格显示9张以上
普通
项目功能
当获取的图片数量超过最大显示的图片数量时,最后一张图片上会显示剩余数量(类似于QQ的动态效果)
使用Adapter模式设置图片
默认增加了图片点击全屏预览效果,并附带预览动画
使用接口加载图片,支持任意的图片加载框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等
整合了PhotoView图片预览
使用接口抽出图片的加载方式,可以方便的将Glide替换成自己喜欢的ImageLoader等
使用代码简单,只需要几行代码
其他功能增加中......
自定义参数设置
属性名称
参数含义
angv_singleImgRatio
只显示一张图片时图片宽高比
angv_gridSpace
网格显示图片时,图片之间的间距,默认3dp
angv_maxSize
最多显示图片的数量,默认最大9张
使用方法
1 导入
方法一
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add the dependency
dependencies {
implementation 'com.github.assion:AssNineGridView:v1.0.2'
}
方法二
下载本项目,将项目中的lib直接导入即可
implementation project(':lib_assninegridview')
2 初始化
在Application中初始化AssNineGridView的图片加载器
AssNineGridView.setImageLoader(new GlideImageLoader());
自定义自己的图片加载器,支持任意的图片加载框架,如 Glide,ImageLoader,Fresco,Picasso 等
public class GlideImageLoader implements AssNineGridView.ImageLoader{
@Override
public void onDisplayImage(Context context, ImageView imageView, String url) {
Glide.with(context).load(url).into(imageView);
}
@Override
public Bitmap getCacheImage(String url) {
return null;
}
}
3 功能实现
xml添加
android:id="@+id/angv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="8dp"
app:angv_gridSpace="3dp"
app:angv_maxSize="9"
app:angv_singleImgRatio="1" />
java代码(demo中用的recyclerview加载列表) ImageInfo是库中提供的数据Bean,需要两个url,分别表示小图和大图的url,没有大图或者小图,则都赋给相同的Url即可,AssNineGridViewClickAdapter是库中提供的默认实现了点击预览的Adapter
List imageInfos = getImageInfos(position);
holder.angv.setAdapter(new AssNineGridViewClickAdapter(DemoActivity.this, imageInfos));
AssNineGridViewClickAdapter:库中自带的适配器,点击预览大图
private List getImageInfos(int position) {
List imageInfos = new ArrayList<>();
List images = mDatas.get(position).getImages();
for (String url : images){
ImageInfo imageInfo = new ImageInfo();
imageInfo.setBigImageUrl(url);
imageInfo.setThumbnailUrl(url);
imageInfos.add(imageInfo);
}
return imageInfos;
}
如果不想使用预览效果,可以自己继承 AssNineGridViewAdapter 实现其中 onImageItemClick 方法即可。
List imageInfos = getImageInfos(position);
MyAssAdapter assAdapter = new MyAssAdapter(DemoActivity.this, imageInfos);
assAdapter.onImageItemClick(DemoActivity.this, holder.angv, position, imageInfos);
holder.angv.setAdapter(assAdapter);
MyAssAdapter是自定义的适配器,继承AssNineGridViewAdapter
private class MyAssAdapter extends AssNineGridViewAdapter{
private Context mContext;
MyAssAdapter(Context context, List imageInfo) {
super(context, imageInfo);
mContext = context;
}
@Override
public void onImageItemClick(Context context, AssNineGridView angv, int index, List imageInfo) {
super.onImageItemClick(context, angv, index, imageInfo);
//执行点击事件
Toast.makeText(mContext, "条目"+index+":自定义点击效果", Toast.LENGTH_SHORT).show();
}
}
关于
若遇到使用上的问题,请先翻看Issues,或者直接发邮件给我assionhonty@126.com
联系我
android从九宫格全屏预览,仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图...相关推荐
- Android 实现仿微信朋友圈九宫格图片+NineGridView+ImageWatcher(图片查看:1.预览,2.拖动,3.放大,4.左右滑动,5.长按保存到手机)的功能
一.测试 实现: 二.添加依赖包: implementation 'androidx.appcompat:appcompat:1.1.0'implementation 'androidx.recycl ...
- android 微信朋友圈 全功能,Android仿微信朋友圈文字展开全文功能 Android自定义TextView仿微信朋友圈文字展开全文功能...
Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...
- android 微信朋友圈 全功能,Android自定义TextView仿微信朋友圈文字展开全文功能
Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...
- Android实现仿微信朋友圈发布动态(拍照、图库选择、照片压缩、显示、保存、缩略图、点击缩略图删除对应文件等)
原址: http://blog.csdn.net/zhang3776813/article/details/52092591 /*** 仿微信朋友圈发布动态* 拍照或图库选择 * 压缩图片并保存**/ ...
- Android仿微信朋友圈4实现评论动态时输入框和软键盘自动定位到内容下面
最近做完朋友圈功能后,测试提出一个功能优化,在某些发布的动态下评论时软键盘和输入框遮当内容了,这个用户体验感觉不是很好,于是根据今日头条和其他热门的App评论时软键盘和输入框都是在内容下面.Scrol ...
- 仿微信朋友圈【九宫格的实现】
仿微信朋友圈[九宫格的实现] 标签: 九宫格自定义viewgroup 2017-04-18 18:39 561人阅读 评论(0) 收藏 举报 分类: Android(25) 版权声明:本 ...
- Android实现仿微信朋友圈发布动态(拍照、图库选择、照片压缩、显示、保存、缩略图、点击缩略图删除对应文件等)附源码
原创作品,转载请注明出处:http://blog.csdn.net/zhang3776813/article/details/52092591 最近项目需求中要用到类似微信朋友圈发布 ...
- Android 仿微信朋友圈添加图片
github地址(欢迎下载Demo) https://github.com/zhouxu88/WXCircleAddPic 老习惯,先上图,着急用的朋友,直接带走Demo,先拿来用吧,毕竟老板催的紧, ...
- android 仿微信朋友圈 评论,2020年android 仿微信朋友圈 评论
2020年android 仿微信朋友圈 评论 1.如果有人问我:那些艰难的岁月你是怎么熬过来的?我想我只有一句话回答:我有一种强大的精神力量支撑着我,这种力量名字叫"想死又不敢" ...
最新文章
- 4.1.2 数据交换方式
- 从源码分析DEARGUI之让怪物随机动起来
- python表白-520使用Python实现“我爱你”表白
- Python 爬虫篇-利用BeautifulSoup库爬取墨迹天气网的天气信息实例演示,调用墨迹天气api接口获取空气质量
- python 路由转发_RabbitMQ之路由键转发消息
- 26Java中的多态
- c语言程序设计整人,C语言进程间通信练习作品 - 整人小程序之剪切板
- Android系统(134)--- Android关于OOM的解决方案 ##OOM
- 华为ac控制器web配置手册_AC+AP组建无线网络,解决路由器没地方放,不美观
- 需要注意的new Date 时区问题
- 一文看懂语音识别 - ASR(基本原理 + 4个实现流程)
- Tableau开始试用期后的破解方法
- 嵌入式c学习第一步:dev cpp编译器安装
- 苹果ipad邮箱找不到服务器,ipad怎么设置qq邮箱?苹果ipad qq邮箱设置教程
- 用计算机编纂家谱的作用,家谱软件的比较
- 运动世界校园显示服务器异常,运动世界校园为什么成绩异常 成绩异常相关
- 实验二 Linux下Vi编辑器的使用
- 高光谱遥感图像处理与信息提取综述
- 师傅带徒弟学:Python游戏开发引擎cocos2d-python-关东升-专题视频课程
- Anaconda Prompt 用法全集
热门文章
- idea复制项目导致sources root复用了另一个项目
- CAN201 网络编程 笔记
- 题解 [LuoguP3426][POI2005]SZA-Template
- vue项目无法在IE打开
- 中国人工智能学会通讯——AI时代的若干伦理问题及策略 1.1人工智能时代正在加速到来,算法决策开始兴起...
- 51单片机模拟串口发送接收数据(不使用SBUF)
- 题解_UVA_11134_Fabled Rooks
- 基于英雄大作战龙奥的Unity骨骼动画初探
- 美团红包饿了么红包CPS小程序+ H5 +推出外卖红包应用,带有后台代码,安装超级简单-源码
- Longhorn时代,浏览器的终结?——关于Avalon和XAML