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);
            }});
    }
});

PhotoView 缩放 使用相关推荐

  1. 一些开源的项目 收藏

    https://github.com/Trinea/android-open-project 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.Action ...

  2. Android 开源项目分类汇总 APP功能汇总

    Android 开源项目第一篇--个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Progr ...

  3. Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  4. Android 开源项目分类汇总(很全)

    目录 前言 目前包括: 第一部分 个性化控件(View) 一.ListView 二.ActionBar 三.Menu 四.ViewPager .Gallery 五.GridView 六.ImageVi ...

  5. Android系统(168)---Android 开源项目分类汇总

    Android开源项目分类汇总 原网址:https://blog.csdn.net/prince77qiqiqq/article/details/51338330 Android 开源项目第一篇--个 ...

  6. Android最牛的开源收集

    这是一个基本把github上所有优秀安卓的开源代码整理了,下面是都是转自https://github.com/Trinea/android-open-project,都是一些牛人,很有开源精神的达人做 ...

  7. Android最牛的开源整理

    这是一个基本把github上所有优秀安卓的开源代码整理了,下面是都是转自https://github.com/Trinea/android-open-project,都是一些牛人,很有开源精神的达人做 ...

  8. 20180508----01:15

    2017 github 上android 源码(适合工作中开发) 2016年12月30日 11:51:19 阅读数:5623 转载:  http://blog.csdn.NET/a774057695/ ...

  9. 开源 安卓项目汇总

    Android 开源项目第一篇--个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Progre ...

最新文章

  1. Transformer总结(2022版)
  2. Emacs代码折叠/显示
  3. 目录_计算机视觉中的数学方法
  4. 怎么用PDF转换器将PDF文件转成txt
  5. C语言井字棋人人对战源代码,回忆儿时游戏-井字棋(完整代码)
  6. java项目-第33期基于SSM框架的图书管理系统【毕业设计】
  7. Mybatis——拦截器Interceptor
  8. UCF101视频分类之CNN-LSTM-Code总结
  9. ELK:ElasticSearch定期关闭和删除索引脚本
  10. Java FX小项目国际象棋
  11. 微软苏州校招笔试题目(1月10日)Colorful Lecture Note的解法
  12. 【云原生 | Kubernetes 系列】1个POD2个container实现Wordpress K8s部署
  13. 一位 19 年 Mac 用户的心声:“我真的很讨厌库克”
  14. selenium自动化之PO模型
  15. c#获取公网的ip,本机ip 以及当前城市以及运营商
  16. HDU 4416 Good Article Good sentence(后缀数组)
  17. 辅助知识-第2 章 项目合同管理
  18. java怎么设置cookie?java设置cookie教程
  19. Python中 * 的用途
  20. 详解什么是尾递归(通俗易懂,示例讲解)

热门文章

  1. Python模拟调制
  2. Unable to resolve dependency for ':okgo@debug/compileClasspath': Could not resolve com.squareup.okh
  3. 合肥赛区我们学校得了铜牌
  4. TETRA高性能通信天线
  5. 10万字XX市开发区智慧综治中心平台建设一期工程招标文件word
  6. 2021年N1叉车司机考试报名及N1叉车司机免费试题
  7. http://www.360doc.com/content/07/0103/19/16773_317325.shtml
  8. QT读取网卡列表多网卡绑定组播网卡
  9. ❤啊!这就被黑了?❤ Redis 报 EXECABORT Transaction discarded because of previous errors 错误及解决方案❤️
  10. freemarker 速记