PhotoView的使用

1.介绍以及引入

PhotoView 是一款扩展自Android ImageView,支持通过单点/多点触摸来进行图片缩放的智能控件。

特性:

支持单点/多点触摸,即时缩放图片;
支持平滑滚动;
在滑动父控件下能够运行良好;(例如:ViewPager)
当用户的触点改变是可以触发通知

在build.gradle的dependencies中加入:

compile 'com.github.chrisbanes:PhotoView:1.2.6'

接着在build.gradle中:

repositories {
    jcenter()
    maven { url "https://jitpack.io" }
}

2.使用
这里使用了它的旋转,指定位置,自动旋转功能

布局:

 <uk.co.senab.photoview.PhotoView
       android:id="@+id/photo_view"
       android:layout_above="@+id/ll_btn_container"
       android:layout_centerInParent="true"
       android:src="@drawable/wallpaper"
       android:layout_width="match_parent"
       android:layout_height="match_parent"/>

在代码中,找到该控件后,
旋转:
(顺时针选择10度)

 mPhotoView.setRotationBy(10);

(逆时针选择10度)

 mPhotoView.setRotationBy(-10);

这个度数可以由自己指定,这个方法不停地调用可以叠加度数,例如调用一次旋转10度,调用两次就是旋转20度

指定旋转度数:

mPhotoView.setRotationTo(0);

0的话会让图片回到最初的位置

自动旋转:
调用自己写的方法:

toggleRotation()

具体的方法:

private final Handler handler = new Handler();
private boolean rotating = false;

private void toggleRotation() {
        if (rotating) {
            handler.removeCallbacksAndMessages(null);
        } else {
            rotateLoop();
        }
        rotating = !rotating;
    }

 private void rotateLoop() {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                mPhotoView.setRotationBy(1);
                rotateLoop();
            }
        }, 15);
    }

官方Demo里还有很多功能,有兴趣的可以去看看:
https://github.com/chrisbanes/PhotoView
从这里下载它的Demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值