登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

图片浏览缩放控件

来自: sdsadsadasdasd 分类: Android精品源码 上传时间: 2017-1-10 15:55:00
Tag:图片浏览

项目介绍:

PhotoView 图片浏览缩放控件
和普通的ImageView一样的使用方法
如使用过程中有任何bug,意见或建议,可邮件给我 [email protected]
效果图
注意
由于facebook的Fresco图片加载组件所加载出来的drawable图片并非真实的drawable,无法直接获取图片真实宽高,也无法直接响应ImageMatrix的变换, 且根据Fresco文档的介绍,在后续的版本中,DraweeView会直接继承自View,所有暂不考虑支持Fresco。 对于其他第三方图片加载库如Glide,ImageLoader,xUtils都是支持的
使用
1.Gradle添加依赖 (推荐)
dependencies {    compile 'com.bm.photoview:library:1.4.1'}
(或者也可以将项目下载下来,将Info.java和PhotoView.java两个文件拷贝到你的项目中,不推荐)
2.xml添加
[XML] 查看源文件 复制代码

3.java代码
[Java] 查看源文件 复制代码
PhotoView photoView = (PhotoView) findViewById(R.id.img);
// 启用图片缩放功能
photoView.enable();
// 禁用图片缩放功能 (默认为禁用,会跟普通的ImageView一样,缩放功能需手动调用enable()启用)
photoView.disenable();
// 获取图片信息
Info info = photoView.getInfo();
// 从普通的ImageView中获取Info
Info info = PhotoView.getImageViewInfo(ImageView);
// 从一张图片信息变化到现在的图片,用于图片点击后放大浏览,具体使用可以参照demo的使用
photoView.animaFrom(info);
// 从现在的图片变化到所给定的图片信息,用于图片放大后点击缩小到原来的位置,具体使用可以参照demo的使用
photoView.animaTo(info,new Runnable() {
       @Override
       public void run() {
           //动画完成监听
       }
   });
// 获取/设置 动画持续时间
photoView.setAnimaDuring(int during);
int d = photoView.getAnimaDuring();
// 获取/设置 最大缩放倍数
photoView.setMaxScale(float maxScale);
float maxScale = photoView.getMaxScale();
// 设置动画的插入器
photoView.setInterpolator(Interpolator interpolator);

版本
v1.4.0
  • 增加对普通ImageView的支持,可通过PhotoView的静态方法getImageViewInfo(ImageView)从一个普通的ImageView中获取Info,参照ImageViewActivity
  • 添加长按事件的监听,setOnLongClickListener()
  • 提高图片缩放到屏幕边缘的情况下滑动的流畅性
  • 新增get/setAnimaDuring() get/setMaxScale 获取设置动画的持续时间和图片最大缩放倍数
  • 通过setInterpolator可设置动画插入器
v1.3.6
  • 增加图片的旋转功能
  • 版本号命名改变
v2.0.7
  • 宽高属性可以设置为wrap_content,添加对adjustViewBounds属性的支持
  • 修复某些情况下会闪动
  • 增加对ScaleType.FIT_START,FIT_END对animaFrom的支持
v2.0.0
  • 添加animaTo,animaFrom方法,支持图片点击放大缩小浏览功能
  • 添加enable()和disenable() 打开和关闭触摸缩放方法,默认打开 (当普通ImageView使用的时候建议关闭触摸缩放功能)
  • 支持所有ScaleType属性




相关源码推荐:

我来说两句
*滑动验证:
所有评论(36)
九酒 2017-1-10 15:58:05
感谢分享,楼主V5~
回复
a752379071 2017-1-10 16:19:14
精华内容,楼主V5!
回复
subsoil 2017-1-10 16:19:56
感谢分享,安卓巴士有你更精彩:lol
回复
׿ʿ热心网友 2017-1-10 16:20:28
楼主用心了,内容非常精彩。
回复
qq824300438 2017-1-10 16:21:05
楼主用心了,内容非常精彩。
回复
qq824300438 2017-1-10 16:33:01
旋转是怎么实现的,为什么demo里面没有
回复
蛋糕 2017-1-10 16:41:32
很给力,安卓巴士有你更精彩!
回复
12345下一页
提取码:  下载次数:28 状态:已购或VIP 售价:10(原价:10)金钱 下载权限:限制会员 
553 0 28
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,769657487

如何获得代码达人称号

如何成为签约作者

联系我们
关闭
合作电话:
13802416937
Email:
[email protected]
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表