移动开发----PhotoView 图片浏览缩放控件
PhotoView 图片浏览缩放控件
和普通的ImageView一样的使用方法
如使用过程中有任何bug,意见或建议,可邮件给我 bmme@vip.qq.com
下载地址:https://github.com/bm-x/PhotoView
效果图
注意
由于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添加
<com.bm.library.PhotoViewandroid:id="@+id/img"android:layout_width="match_parent"android:layout_height="match_parent"android:scaleType="centerInside"android:src="@drawable/bitmap1" />
3.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() {@Overridepublic 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属性
v1.0
移动开发----PhotoView 图片浏览缩放控件相关推荐
- [Objective-c] IOS图片浏览小控件
最近空下来整理一下以前写的一些小控件,这是一个图片浏览的控件,使用Objective-c编写.项目是swift的朋友需要自己bridge一下. 一.功能介绍 当用户点击图片进入图片浏览模式,控件会自动 ...
- C#发现之旅 --- WinForm.NET中开发具有固定背景图片的可滚动控件
摘要 在本文章中笔者使用WinForm.NET2.0开发出一个具有固定背景图片的带滚动条的容器控件.点击下载本文章配套的演示程序 /Files/xdesigner/FixedBackground.zi ...
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础-手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- visual studio开发工具的C#主流控件属性一览表
visual studio开发工具的C#主流控件属性一览表 visual studio开发工具的C#主流控件属性一览表 详细的介绍了各控制属性的详细中文介绍 C#控件及常用设计整理 1.窗体 1.常 ...
- 在开发中图片浏览遇到的一些简单问题
在开发中图片浏览遇到的一些简单问题 由于在项目中已经用到了一个第三方框架(MJPhotoBrowser)做图片浏览了,所以就使用了这个框架来做图片的浏览功能. 项目需求 单击图片放大(只可以浏览单张图 ...
- 【delphi】开发微信小程序后台控件(一)(含源代码、演示程序、控件使用帮助)
1. 前言 微信小程序已经非常普及,但是遗憾的是官方提供的 SDK 等没有Delphi语言的,这样使用Delphi语言开发微信小程序后台就相对比较困难,需要研究平台API,费时费力,特别是调试API很 ...
- Android百度地图SDK:隐藏比例尺,隐藏百度LOGO,隐藏缩放控件
Android百度地图SDK:隐藏(不显示)比例尺,隐藏(不显示)百度LOGO,隐藏(不显示)缩放控件 在自己的Android应用开发中使用百度地图SDK,百度会自动在MapView上添加百度的 ...
- 类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件
类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件,自动根据图片的数量确定图片大小和控件大小,使用Adapter模式设置图片,对外提供接口回调,使用接口加载图片,支持任意的图片加载框架,如 G ...
- android banner加载布局,Android知识点之图片轮播控件Banner
Rate this post 在我们来发Android项目时,经常有图片或者广告的轮播功能的需求,下面将介绍一款Android开发时使用的开源图片轮播控件Banner,同时按序讲解如何使用配置这款控件 ...
最新文章
- Selenium启动不同浏览器
- linux 负数_linux内核提权系列教程(2):任意地址读写到提权的4种方法
- android 之Fragment的详解
- EMF+GEF的属性页问题
- 交叉验证和超参数调整:如何优化您的机器学习模型
- react.js app_如何创建Next.js入门程序以轻松引导新的React App
- java基础之设计模式
- python 取余_玩转Python源码(一) quot;%squot;与“%d”
- openssl ssl_write 写错误
- C++中4种方式把字符串和数字连接起来(转载)
- 【个人笔记】OpenCV4 C++ 快速入门 26课
- 网页设计心得HTML心得体会3000,网页制作的心得体会
- powerdesign使用手册
- java实现第五届蓝桥杯出栈次序
- 自定义Exception类
- 自己制作dns解析服务器,如何使用自己的DNS服务器解析域名,架设自己的DNS服务器...
- python 函数 求绝对值 abs()
- Downkyi(哔哩下载姬)绿色便携版V1.4.0 | bilibili视频下载工具 \ B站解析器 -- b站视频怎么下载到电脑?
- SCI和SCIE的区别和联系
- 腾讯校招课堂|程序员如何在腾讯完成自己的“游戏梦”
热门文章
- 语义SLAM论文以及code地址总结
- 怎么将png图片转换成jpg
- “无法播放视频。很抱歉,无法播放此视频” 错误提示的两个原因
- java 解决图片压缩背景色变黑的问题
- 【ELASTICSEARCH】ElasticSearch 磁盘满解决方案
- windows server 2008防火墙阻止局域网不能访问解决方案
- 大数据早报:路桥率先利用“人脸识别”技术监管医保 亚马逊与微软联合开发人工智能,打造服务大众的AI(10.19)
- 瑞芯微RV1109平台交叉编译踩坑
- 直方图实例详解(颜色直方图、灰度直方图)
- 思杰CEO:收购Unidesk将填补技术组合的空白