PhotoView 缩放 使用

1.在module 的build.gradle文件下加入依赖

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])'
   implementation 'com.github.chrisbanes:PhotoView:2.0.0'
}

2.使用

(1)xml文件中布局

    android:id="@+id/photo_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

(2)代码中使用(效果:双击或双指拉图片会放大)

photoView = findViewById(R.id.photo_view);
//设置一张图片
photoView.setImageResource(R.mipmap.fj);

2-------------------------------------

另一个库加入了缩放、旋转的功能

首先加入依赖:

compile 'com.bm.photoview:library:1.4.1'
使用也是类似:

    android:id="@+id/zoom_photo_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
代码里找到控件设置图片资源:
zoomPhotoView.setImageResource(R.mipmap.fj);
zoomPhotoView.enable();//启用缩放功能

此时图片可以任意缩放旋转。

3--------------------

类似朋友圈,点击图片后放大显示

img为小图,zoomPhotoView为放大后的图

img2.animaFrom(img.getinfo());//图2是从图1变化过来的

img2.animaTo( img.getinfo() );//点击后 图2 从当前位置变回到图1位置

img.setImageResource(R.mipmap.fj);
zoomPhotoView.setImageResource(R.mipmap.fj);
img.disenable();
zoomPhotoView.disenable();//关闭缩放功能
img.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        img.setVisibility(View.GONE);
        zoomPhotoView.setVisibility(View.VISIBLE);
        //获取img的信息
        info = img.getInfo();
        //zoomPhotoView 从img1变换到当前位置
        zoomPhotoView.animaFrom(info);
    }
});
zoomPhotoView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //从当前位置变回到img的位置
        zoomPhotoView.animaTo(info, new Runnable() {
            @Override
            public void run() {
                zoomPhotoView.setVisibility(View.GONE);
                img.setVisibility(View.VISIBLE);
            }
        });
    }
});



你可能感兴趣的:(photoview)