效果需要两个手指禁止缩放,所以没有光标,只能用手机投放电脑上录制动态图片;

demo中实用了一个第三方的photoview,非常简单实用;可实现图片双击放大,手势放大缩小,当手指离开屏幕时如果图片小于原图可自动恢复原图大小,可实现点击监听,长按图片监听;

整个demo非常简单,整体就是一个activity,页面布局只有一个viewpager和textview

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#000000"><android.support.v4.view.ViewPagerandroid:id="@+id/viewpager"android:layout_width="match_parent"android:layout_height="match_parent" /><TextViewandroid:id="@+id/tv_num"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:textColor="#ffffff"android:textSize="30sp" /></RelativeLayout>

在activity中初始化图片的url,将集合传递到适配器FragmentPagerAdapter中即可中即可;

每个适配器中显示一个fragment,这里自己创建一个即可

/*** Created by zheng on 2017/11/27.*/public class PhotoFragment extends Fragment {private String url;private PhotoView mPhotoView;/*** 获取这个fragment需要展示图片的url* @param url* @return*/public static PhotoFragment newInstance(String url) {PhotoFragment fragment = new PhotoFragment();Bundle args = new Bundle();args.putString("url", url);fragment.setArguments(args);return fragment;}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);url = getArguments().getString("url");}@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_img, container, false);mPhotoView = view.findViewById(R.id.photoview);//设置缩放类型,默认ScaleType.CENTER(可以不设置)mPhotoView.setScaleType(ImageView.ScaleType.CENTER);mPhotoView.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View view) {ToastUtils.showToast(getContext(),"长按事件");return true;}});mPhotoView.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener() {@Overridepublic void onPhotoTap(View view, float x, float y) {ToastUtils.showToast(getContext(),"点击事件,真实项目中可关闭activity");}});Glide.with(getContext()).load(url).placeholder(R.mipmap.ic_launcher)//加载过程中图片未显示时显示的本地图片.error(R.mipmap.ic_launcher)//加载异常时显示的图片
//                .centerCrop()//图片图填充ImageView设置的大小.fitCenter()//缩放图像测量出来等于或小于ImageView的边界范围,该图像将会完全显示.into(mPhotoView);return view;}}

fragment布局非常简单,只有一个图片展示的view

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><uk.co.senab.photoview.PhotoViewandroid:id="@+id/photoview"android:layout_width="match_parent"android:layout_height="match_parent" /></RelativeLayout>

想要实用PhotoView和Glide需要build.gradle中添加

allprojects {repositories {maven { url "https://jitpack.io" }}
}
dependencies {compile 'com.github.chrisbanes.photoview:library:+'compile 'com.github.bumptech.glide:glide:3.7.0'
}

点击打开链接免费下载源码

  

android:viewpager+photoview实现图片查看器相关推荐

  1. Android使用ViewPager+PhotoView实现图片查看器

    可实现功能效果说明: 可实现多张图片点击放大,手指控制,左右滑动,多张图片点击任意位置定位显示任意位置图片:无动画,可自己加 效果图:                             核心代码 ...

  2. Android --- 好用的图片查看器

    一款类似 微信/B站 的图片浏览组件, 主要具有以下特点: 类似共享元素的入场&退场动画(图片在入场时给人一种渐渐展开的效果) 拖拽&双击退出图片查看 支持缩放手势 支持查看长图 支持 ...

  3. 图片查看器:Android支持图片查看、缩放、滑动的PhotoView

    上效果: Android 图片查看器Demo效果 导入PhotoView,导入Glide. maven { url "https://jitpack.io" }implementa ...

  4. Android仿微信朋友圈图片展示效果,图片查看器

    现在越来越多的APP都会有图片展示,这里是模仿微信朋友圈图片展示效果,图片查看器. 主要分为4部分: 1.透明Activity 2.计算gridView下iamgeView Item所在位置 3.一张 ...

  5. android 图片查看器

    android实现的图片查看器 public class MainActivity extends AppCompatActivity {private EditText et_new_path;pr ...

  6. Android简易图片管理器,一个简单仿微信朋友圈的图片查看器 PhotoViewer

    PhotoViewer 该图片查看器是模仿微信朋友圈查看图片编写 allprojects { repositories { ... maven { url 'https://jitpack.io' } ...

  7. android仿空间照片查看器,PhotoViewer 一个简单仿微信朋友圈的图片查看器

    该图片查看器是模仿微信朋友圈查看图片编写 allprojects { repositories { ... maven { url 'https://jitpack.io' } } } lastRel ...

  8. 图片查看器 PhotoView

    一.使图片能够全部显示在自定义 View 中 1.自定义 View 采用自定义View继承AppCompatImageView,重写构造方法: public class PhotoView exten ...

  9. android 横向滚动图片,Android使用Photoview实现图片左右滑动及缩放功能

    Android使用Photoview实现图片左右滑动及缩放功能 发布时间:2020-10-12 14:51:12 来源:脚本之家 阅读:119 作者:kuaizilanqiu 我想,不管是做什么样的a ...

  10. iVX案例制作(1)—图片查看器

    (一)功能: 图片以缩略图形式存放,可以点击将图片放大. 滚动鼠标实现图片放大与缩小. 点击左右箭头查看上下图片. 点击浮层可关闭图片. (二)效果演示 预览地址:图片查看器 (三)步骤: 1.点击对 ...

最新文章

  1. 打家劫舍(不偷相邻)
  2. php pfm 改端口,罗马2ESF和PFM 修改建筑 军团 派系 兵种等等等很多东西的教程
  3. c语言枚举代替双switch,C语言 使用数组代替switch分支语句降低圈复杂度
  4. python爬虫第二课:url解析
  5. Python线程安全问题及解决方法
  6. FPGA学习笔记---利用连续赋值语句延时功能实现按键消抖
  7. 2018-携程-春招题
  8. SAS数据挖掘实战篇【五】
  9. Python 标准库 —— os 模块
  10. hdu 1333水题
  11. 使用python语言编写脚本控制freeswitch总结
  12. 【数据库】数据字典表
  13. python股票收益率计算_股票分析之——收益率(附完整代码和讲解)
  14. Python基础实战之文字游戏——模拟武侠类场景中的两派战斗场面
  15. [BZOJ4556]-[Tjoi2016Heoi2016]字符串-后缀自动姬+线段树合并+倍增
  16. html5黑色主题登录网页,永恒经典 18个黑白灰配色的网页设计作品
  17. UVC Extension Unit 相关资料整理
  18. Android Wi-Fi 设置wifi Only 11a、b、g、n 扫描(以QCOM为平台)
  19. Cannot find SourceMap 'XXX.js.map'问题解决
  20. 软考高级系统架构师是什么来头?考上了就能当架构师了吗

热门文章

  1. matlab-滤波系数生成频响曲线
  2. 《Thinking in UML》学习1——参与者与用例
  3. Saving Tang Monk II(bfs+优先队列)
  4. 大学生HTML作业篮球网页 HTML作业篮球网页期末作业 HTML+CSS篮球网页 HTML学生作业体育篮球网页
  5. LOJ10068 秘密的牛奶运输
  6. lopa分析_保护层分析(LOPA)方法简介1.ppt
  7. 《SEM长尾搜索营销策略解密》一一1.4 潜藏在海平线下的长尾世界
  8. csm和uefi_传统bios引导与uefi引导之比较
  9. 陪你看这世间---识人术
  10. 【小应用】社交距离检测