今天写个小程序 需要用到图片随手势自动放大缩小功能 图省事 找了第三方的PotoView的包 效果很好 使用studio 导入很方便 导入工程依赖
dependencies {
compile 'com.commit451:PhotoView:1.2.4'
}
这个库应该是做了更新
新的地址
compile 'com.github.chrisbanes:PhotoView:2.0.0'
可以完美的配合安卓的过渡动画使用
在布局里直接调用 当成ImageView
<uk.co.senab.photoview.PhotoView android:id="@+id/img_pic" android:layout_width="match_parent" android:layout_height="0dp" android:layout_gravity="center_horizontal" android:layout_weight="1" />
在MainActivity中 直接使用就行了
private PhotoView img_pic;
img_pic = (PhotoView) findViewById(R.id.img_pic);
获取图片资源 就行了
img_pic.setImageBitmap(bitmap);
还有一种 compile 'com.bm.photoview:library:1.4.1'
<
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" />
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);
这个库的特点是支持图片旋转 但是在配合过渡动画的时候有点问题