Android 大图片预览ViewPager
2016-12-03 23:37
295 查看
项目gitHub地址: https://github.com/bm-x/PhotoView
个人项目gitHub地址: https://github.com/anan03/ananwork/tree/master/PhotoView
如使用过程中有任何bug,意见或建议,可邮件给我 bmme@vip.qq.com
(或者也可以将项目下载下来,将Info.java和PhotoView.java两个文件拷贝到你的项目中,不推荐)
2.xml添加
3.java代码
增加对普通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
个人项目gitHub地址: https://github.com/anan03/ananwork/tree/master/PhotoView
PhotoView 图片浏览缩放控件
和普通的ImageView一样的使用方法如使用过程中有任何bug,意见或建议,可邮件给我 bmme@vip.qq.com
效果图
注意
由于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.PhotoView 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属性
v1.0
相关文章推荐
- android viewpager广告栏左右预览上下一张图片实现
- Android使用ViewPager实现图片滑动预览效果
- Android ViewPager实现图片滑动预览效果
- Android 图片混排效果和ViewPager的使用
- Android 使用ViewPager实现左右循环滑动图片
- Android 使用ViewPager实现左右循环滑动图片
- Android 使用ViewPager实现左右循环滑动图片
- Android实现滑动图片(ViewPager)学习之一:布局
- android 界面开发: 图片、界面滑动翻页效果(ViewPager)
- Android_ViewPager_实现多个图片水平滚动
- Android学习小Demo(10)ToDoList的改进版之ViewPager显示多个图片
- android 解决ViewPager加载大量图片内存溢出问题
- android ViewPager实现 跑马灯切换图片+多种切换动画
- Android_ViewPager_图片自动翻转
- Android_ViewPager_实现多个图片水平滚动
- Android初级教程_图片混排效果和ViewPager的使用
- android中使用ViewPager实现图片左右拖动
- Android_ViewPager_实现多个图片水平滚动
- Android通过ViewPager实现左右滑动切换图片
- [Android]使用ViewPager实现图片滑动展示