android高仿微信图片浏览器
来源:互联网 发布:王者荣耀 狄仁杰 知乎 编辑:程序博客网 时间:2024/05/01 08:03
项目中用到图片浏览 拆分出来 以后方便使用
高仿微信图片浏览器
module使用 rxjava + okhttp3 + fresco
所以项目中引用以后 会增大安装包体积2m左右
如果你的项目中没有使用rxjava 和 okhttp3 和fresco的图片加载器的话 请慎用,介意安装包大小慎用,适用 rxjava + okhttp + retrofit 构建的项目
- 手势放大缩小
- 点击关闭
- 支持加载网络图片和本地图片
- 优化内存
- 自动缓存
- 可以保存到本地
- 复制图片链接
源码下载
github
支持加载本地图片和网络图片 手势放大缩小查看, 保存本地 复制链接 优化缓存,
看效果,
使用方法:
在你的项目中添加如下依赖
compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:support-v13:23.3.0' compile 'com.android.support:design:23.4.0' compile 'com.facebook.fresco:fresco:0.10.0' compile 'com.facebook.fresco:imagepipeline-okhttp3:0.10.0' compile 'com.facebook.fresco:animated-gif:0.10.0' compile 'io.reactivex:rxjava:1.1.0' compile 'io.reactivex:rxandroid:1.1.0' compile 'com.squareup.okhttp3:okhttp:3.3.1' compile 'com.github.castorflex.smoothprogressbar:library:1.1.0' compile 'com.wushange:image-preview:1.0'
记得修改主题为
Theme.AppCompat.Light.NoActionBar
然后再manifest 中添加activity
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <activity android:name="com.dmcc.image_preview.ImagePreviewActivity"/>
然后记得初始化 fresco, 在application中
private static final int MAX_HEAP_SIZE = (int) Runtime.getRuntime().maxMemory(); public static final int MAX_DISK_CACHE_SIZE = 50 * ByteConstants.MB; public static final int MAX_MEMORY_CACHE_SIZE = MAX_HEAP_SIZE / 8; private void initFrescoConfig() { final MemoryCacheParams bitmapCacheParams = new MemoryCacheParams(MAX_MEMORY_CACHE_SIZE, // Max total size of elements in the cache Integer.MAX_VALUE, // Max entries in the cache MAX_MEMORY_CACHE_SIZE, // Max total size of elements in eviction queue Integer.MAX_VALUE, // Max length of eviction queue Integer.MAX_VALUE); ImagePipelineConfig config = OkHttpImagePipelineConfigFactory.newBuilder(this, ImagePreviewActivity.getOkHttpClient()) .setProgressiveJpegConfig(new SimpleProgressiveJpegConfig()) .setBitmapMemoryCacheParamsSupplier(new Supplier<MemoryCacheParams>() { public MemoryCacheParams get() { return bitmapCacheParams; } }) .setMainDiskCacheConfig( DiskCacheConfig.newBuilder(this).setMaxCacheSize(MAX_DISK_CACHE_SIZE).build()) .setDownsampleEnabled(true) .build(); Fresco.initialize(this, config); }
然后在需要使用的地方 填充图片地址集合 和index
ImagePreviewActivity.startActivity(MainActivity.this, extraPics.get(0), extraPics);
源码下载
github
自身项目有的就不用添加了
这就是我自己为了方便写的小玩意, 介意安装包大小慎用,适用 rxjava + okhttp + retrofit 构建的项目
欢迎大家加入我的分享交流群
希望和大家一起成长进步。
QQ群:74406192
2 0
- android高仿微信图片浏览器
- Android图片浏览器
- android 图片浏览器 demo
- 【Android】简单图片浏览器
- Android 简单图片浏览器
- Android--网络图片浏览器
- android 图片浏览器 APP 源码
- Android开发之图片浏览器
- Android开发之图片浏览器
- Android幻灯片式图片浏览器
- Android幻灯片式图片浏览器
- Android 调用系统图片浏览器
- Android 简单图片浏览器 ImageView
- 疯狂Android之图片浏览器
- android开发简单图片浏览器
- Android ImageSwitcher图片浏览器实例
- Android超炫图片浏览器代码
- android学习笔记15:图片浏览器
- Java 代理模式用法
- C++设计模式浅识备忘录模式
- javaScript基础:包装类型
- 地铁译:Spark for python developers ---Spark处理后的数据可视化
- Elasticsearch查询规则(一)match和term
- android高仿微信图片浏览器
- ResultSet 结果集简介
- Genymotion配置及使用教程(最新最完整版附各部分下载地址)
- 嵌入式考点梳理
- HTTP协议
- Problem E: C语言习题 输出月份
- 矩阵的理解
- Java Web 开发遇到的坑和注意点 涉及Jquery,Servlet等等
- poj 3177(桥)