PhotoView 縮放 使用

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

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

2.使用

(1)xml文件中佈局

<com.github.chrisbanes.photoview.PhotoView
    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'
使用也是類似:
<com.bm.library.PhotoView
    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);
            }
        });
    }
});



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章