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添加

android: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() {

@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属性

android缩放组件,Android可放大缩小的图片浏览缩放控件相关推荐

  1. Silverlight实用窍门系列:51.Silverlight页面控件的放大缩小、Silverlight和Html控件的互相操作...

    本节将讲述三个Silverlight中应用的小技巧:Silverlight页面的放大缩小.Silverlight操作Html.Html操作Silverlight控件. 一.Silverlight页面的 ...

  2. android 图片轮播组件,Android客户端实现图片轮播控件

    本文和大家一起写一个Android图片轮播控件,供大家参考,具体内容如下 1. 轮播控件的组成部分 我们以知乎日报Android客户端的轮播控件为例,分析一下轮播控件的主要组成: 首先我们要有用来显示 ...

  3. Android 软键盘弹出时把布局顶上去,控件乱套解决方法

    Android 软键盘弹出时把布局顶上去,控件乱套解决方法 参考文章: (1)Android 软键盘弹出时把布局顶上去,控件乱套解决方法 (2)https://www.cnblogs.com/zhuj ...

  4. android banner加载布局,Android知识点之图片轮播控件Banner

    Rate this post 在我们来发Android项目时,经常有图片或者广告的轮播功能的需求,下面将介绍一款Android开发时使用的开源图片轮播控件Banner,同时按序讲解如何使用配置这款控件 ...

  5. android横幅轮播,横幅广告图片轮播控件 – bannerview

    BannerView 横幅广告图片轮播控件 Gradle repositories { maven { url "https://jitpack.io" } } dependenc ...

  6. Android 图片网格布局控件

    Android 图片网格布局控件 项目地址:MultiPictureView MultiPictureView是一个可以将多张图片以网格的方式显示的View,通过简单的接口实现烦人的布局,从此解放你的 ...

  7. 移动开发----PhotoView 图片浏览缩放控件

    PhotoView 图片浏览缩放控件 和普通的ImageView一样的使用方法 如使用过程中有任何bug,意见或建议,可邮件给我 bmme@vip.qq.com 下载地址:https://github ...

  8. 解决使用高分辨率笔记本分辨率放大100%以上运行程序界面控件不跟随方大方式qt+gtk+ui

    一.前言 解决使用高分辨率笔记本分辨率放大100%以上运行程序界面控件不跟随方大方式.使用100%时,qt界面太小,瞅着累眼睛,方大了界面,程序编译出来控件都跟着方大,布局都乱了,但是牺牲了qt cr ...

  9. android缩放组件,Android控件实现图片缩放功能

    1 简介 先来一张效果图 TIM图片.gif 上图中灰色的一块是ImageView控件,ImageView中的图片进行左右上下移动,以及双指缩放. 对于android控件的缩放移动,点这里----an ...

  10. android 自定义view实现拖动放大缩小_自定义itemCheckView

    阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 自定义View类实现 自定义View标签 ...

最新文章

  1. 媒体智能应用落地靠5G,视频社交需要想象力
  2. 0717PHP基础:面向对象
  3. linux 内存管理 Transparent HugePages 透明大页 简介
  4. java多线程同时运行_Java实现的两个线程同时运行案例
  5. 解决:Module not found: node_modules\sass-loader\package.json (directory description file)
  6. elementui带输入建议查询_知道Profiler是什么吗?带你了解SQL Server的性能优化工具...
  7. 如何搞定纸上代码环节?
  8. CenterNet++ | CenterNet携手CornerNet终于杀回来了,实时高精度检测值得拥有!
  9. spring源码-第四个后置处理器
  10. 利用python爬取飞猪信息_手把手教你使用Python爬取西刺代理数据(上篇)-阿里云开发者社区...
  11. 成功解决ERROR: Command errored out with exit status 1:    command: 'f:\program files\python\python36\pyt
  12. 浅谈后缀自动机SAM
  13. 程序员月薪过3万,却感叹活得不如狗,北漂压力太大又不敢辞职
  14. Linux SVN “db/txn-current-lock: Permission denied”
  15. win10 linux分区大小调整大小,如何在windows系统中调整分区大小(包括windows10/8/7)...
  16. fread fwrite 的使用
  17. unirech:阿里云国际站云服务器和国内站产品有什么区别?
  18. stm32智能小车设计(1)——硬件选型思路
  19. Guitar Pro8手机电脑免费版吉他软件下载
  20. SmartNest切割套料编程软件

热门文章

  1. 《与韩荆州书》--李白经典求职信
  2. 微信小程序头像怎么改变形状_微信小程序 上传头像的实例详解
  3. SEO知识:百度谷歌搜狗谷歌必应搜索引擎蜘蛛的特点
  4. 复现、修复和排查Spring RCE 0day
  5. Linux安装配置Tomcat 8.5.34 快捷启动,关闭(二)
  6. RESTful Web 服务:教程
  7. Apache-DBUtils实现CRUD操作
  8. alert(1) (haozi.me)靶场练习
  9. windows系统用cmd命令开启WiFi共享功能
  10. 初中数学503个必考知识点_高考数学必考知识点高中数学重点知识归纳