android点击全屏预览照片第三方库使用-imgepreviewlibrary

aiprose 个人随笔上线,网址 aiprose.com 点击访问

移动端我们经常会遇到放大预览照片,如果是一张照片,那就全屏展示图片就好了,但是如果是一个列表,滑动查看,我们一般会借助viewpager进行实现,但是每次自己弄,感觉效率很低,今天给大家推荐一个第三方库,很轻松实现,扩展也还可以哦。

这是点击预览的效果图,下边是数字,也可以显示成点

1.安装配置

先添加依赖

implementation 'com.ycjiang:imgepreviewlibrary:1.1.3'

我们需要自定义一个类ImageLoader ,进行图片加载,不限制框架,一般使用glide,当然你也可以使用其他的。

public class ImageLoader implements IZoomMediaLoader {RequestOptions options;{options = new RequestOptions().centerCrop().placeholder(R.drawable.ic_default_image).error(R.drawable.ic_default_image).priority(Priority.HIGH);}@Overridepublic void displayImage(Fragment context, String path, final MySimpleTarget<Bitmap> simpleTarget) {Glide.with(context).asBitmap().load(path).apply(options).into(new SimpleTarget<Bitmap>() {@Overridepublic void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {simpleTarget.onResourceReady(resource);}@Overridepublic void onLoadStarted(Drawable placeholder) {super.onLoadStarted(placeholder);simpleTarget.onLoadStarted();}@Overridepublic void onLoadFailed(Drawable errorDrawable) {super.onLoadFailed(errorDrawable);simpleTarget.onLoadFailed(errorDrawable);}});}@Overridepublic void onStop(@NonNull Fragment context) {Glide.with(context).onStop();}@Overridepublic void clearMemory(@NonNull Context c) {Glide.get(c).clearMemory();}
}

在初始化的时候,初始化图片加载类。

 ZoomMediaLoader.getInstance().init(new ImageLoader());
2.项目使用

我们在点击的回调函数中,打开图片预览代码,根据自己的实际情况调整。

//组织数据
ArrayList<ThumbViewInfo> mThumbViewInfoList = new ArrayList<>(); // 这个最好定义成成员变量
ThumbViewInfo item;
mThumbViewInfoList.clear();
for (int i = 0;i < resultList.size(); i++) {Rect bounds = new Rect();//new ThumbViewInfo(图片地址);item=new ThumbViewInfo(resultList.get(i).getOriginUrl());item.setBounds(bounds);mThumbViewInfoList.add(item);
}//打开预览界面
GPreviewBuilder.from(Context context)//是否使用自定义预览界面,当然8.0之后因为配置问题,必须要使用.to(ImageLookActivity.class).setData(mThumbViewInfoList).setCurrentIndex(position).setSingleFling(true).setType(GPreviewBuilder.IndicatorType.Number)// 小圆点
//  .setType(GPreviewBuilder.IndicatorType.Dot).start();//启动
3.自定义预览界面

自定义预览图片,可以扩展加一下自己的按钮功能等。

public class ImageLookActivity extends GPreviewActivity {/**** 重写该方法* 使用你的自定义布局**/@Overridepublic int setContentLayout() {return R.layout.activity_image_look;}
}

自定义预览的布局

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".activity.ImageLookActivity">// 这是第三方库提供的,也就是默认的布局文件<include layout="@layout/activity_image_preview_photo"/></FrameLayout>

关注

aiprose 个人随笔上线,网址 aiprose.com 点击访问

如果有问题,请在下方评论,或者加群讨论 200909980

关注下方微信公众号,可以及时获取到各种技术的干货哦,如果你有想推荐的帖子,也可以联系我们的。

android点击全屏预览照片第三方库使用相关推荐

  1. android从九宫格全屏预览,仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图...

    AssNineGridView 仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图(可自定义). 写在前面 这是一个九宫格控件,本来是很久之前就写好了,现在才开源出来,也是看了很多优秀 ...

  2. Android学习之Android 5.0分享动画实现微信点击全屏效果

    Android5.0过渡动画,请看 http://blog.csdn.net/qq_16131393/article/details/51112772 今天用分享动画实现微信点击全屏效果 本文源代码下 ...

  3. android 点击图片动画效果,Android仿微信图片点击全屏效果

    废话不多说,先看下Android图片点击全屏效果: 先是微信的 再是模仿的 先说下实现原理,再一步步分析 这里总共有2个Activity一个就是主页,一个就是显示我们图片效果的页面,参数通过Inten ...

  4. android webview 横竖屏_webview播放视频并且点击全屏横屏的方法

    title: webview播放视频并且点击全屏横屏的方法 date: 2016-11-28 10:33:27 tags: tips 首先initWebView,好吧有点多,有些是项目里其他需求需要的 ...

  5. android qq分组展开,Android仿qq分组管理的第三方库

    本文实例为大家分享了Android仿qq分组管理的第三方库,供大家参考,具体内容如下 下面先看效果 我们点击展开与折叠分组的功能在库里面是已经封装好的,只能把它已入到项目中,就可以直接用了,十分的方便 ...

  6. uni-app 微信公众号H5开发 里面的video 组件点击全屏后不会自动横屏播放 2

    文章目录 前言 一.废话不多说直接上代码 总结 前言 根据上次发布的文章进一步改善了全屏横屏播放,去除了导航栏,实现伪全屏,但是ios系统不行,只能用自带的全屏按钮,让用户点击. 来点我遇到的问题吧 ...

  7. android 全屏动画,Android开发之全屏与非全屏的切换设置方法小结

    本文实例讲述了Android开发之全屏与非全屏的切换设置方法.分享给大家供大家参考,具体如下: 静态方法 1. 代码方式 在Activity类OnCreate方法中设置,代码如下 @Override ...

  8. android中布局全屏,怎么在Android 应用中实现一个全屏与非全屏功能

    怎么在Android 应用中实现一个全屏与非全屏功能 发布时间:2020-12-04 17:31:45 来源:亿速云 阅读:135 作者:Leah 怎么在Android 应用中实现一个全屏与非全屏功能 ...

  9. Android 置Activity全屏和无标题

    今天,实在没有什么好些写的内容,所以在网上找了很久,才决定写这个博客.比较简单,还是想保持写博客的习惯. 一.在代码里设置全屏. Activity设置全屏和无标题栏,要用到andorid.view.W ...

最新文章

  1. Java凝视Annotation
  2. 嵌入式Linux操作系统学习规划,学习嵌入式开发需要哪些知识?
  3. 数据库:数据库水平切分?垂直切分?整合方案?可能存在的问题?
  4. 基于 HTML5 Canvas 的交互式地铁线路图
  5. layui分页limit不显示_layui table分页 page为false时,limit问题
  6. Atom常用功能插件
  7. \pages\WxPay\WxPay.js
  8. Exploration(POJ-3618)
  9. java byte to long_java 中怎样将 bytes 转换为 long 类型?
  10. Unity中一个安卓设备拆装项目,从使用到放弃ab包过程记录
  11. pytyon 微妙_字体的微妙力量
  12. IAR环境下的STM32H750片外QSPI Flash下载仿真
  13. 百宝云COM组件操作教程
  14. php服务器支付宝的pcm,php - 支付宝当面付报错
  15. Golang 原子操作与互斥锁
  16. 十部委联合发布《关于促进互联网金融健康发展的指导意见》
  17. WPS公式标号对齐,公式居中问题
  18. android平板电脑怎么才能连接电脑,平板电脑怎么连接电脑 最有效方法【图解】...
  19. 机器学习算法/模型——支持向量机
  20. 计算机组成原理第四章例4.1,计算机组成原理第四章.ppt

热门文章

  1. TKL配列新品键盘:Keychron V3
  2. 九联UNT402A_S905L3(B)_5621DS_增加无线网卡功能_浙江广东甘肃等_线刷固件包
  3. set()函数的用法
  4. 将12345转换为一万两千三百四十五
  5. 人证比对TCPSERVER
  6. 凛冬将至?对互联网行业人员流动性的一些看法(深度好文)
  7. 前端将后端返回的富文本格式字符串转换成word下载
  8. 编程之美之中国象棋问题
  9. 【NVIDIA】Tesla V100安装NVIDIA-Driver驱动程序适配CUDA-Toolkit-11.6
  10. 【企业邮件服务器搭建过程】