viewpager+photoview实现图片查看器

本文实例为大家分享了Android实现图片查看器的具体代码,供大家参考,具体内容如下

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

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.ViewPager
 android:id="@+id/viewpager"
 android:layout_width="match_parent"
 android:layout_height="match_parent" /> 

 <TextView
 android: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;
 } 

 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 url = getArguments().getString("url");
 } 

 @Nullable
 @Override
 public 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() {
  @Override
  public boolean onLongClick(View view) {
  ToastUtils.showToast(getContext(),"长按事件");
  return true;
  }
 });
 mPhotoView.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener() {
  @Override
  public 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.PhotoView
 android: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'
}

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android PhotoView使用步骤实例详解

    Android PhotoView使用步骤实例详解 1.步骤一:在布局文件中的代码: <uk.co.senab.photoview.PhotoView android:id="@+id/img_showimgview" android:layout_width="match_parent" android:layout_height="match_parent" /> 2.步骤二:进行找到控件的id photoview = (Phot

  • Android第三方控件PhotoView使用方法详解

    PhotoView的简介: 这是一个图片查看库,实现图片浏览功能,支持pinch(捏合)手势或者点击放大缩小.支持在ViewPager中翻页浏览图片. PhotoView 是一款扩展自Android ImageView ,支持通过单点/多点触摸来进行图片缩放的智能控件.功能实用和强大. PhotoView的功能: 图片浏览查看 双指缩放 单点触摸缩放 图片缩放模式设置 基本用法: 导入jar包,布局XML里设置PhotoView 将ImageView传入PhotoViewAttacher 代码演

  • photoView实现图片多点触控效果

    本文实例为大家分享了PhotoView实现图片多点触控效果展示的具体代码,供大家参考,具体内容如下 效果:点击后能够自由缩放.平移: 添加依赖: compile 'com.commit451:PhotoView:1.2.4' compile 'com.github.bumptech.glide:glide:3.5.2' 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:

  • Android使用PhotoView实现图片双击放大单击退出效果

    本文实例为大家分享了PhotoView实现图片双击放大单击退出的具体代码,供大家参考,具体内容如下 实现思路 1.复制PhotoView  到libs下,然后进行添加小奶瓶 2.布局xml文件,添加PhotoView控件,src加载一张图片,就已经实现了放大缩小 3.Photoview设置点击事件,实现单击退出Activity 导jar包 compile files('libs/uk-co-senab-photoview.jar') 进行布局 <RelativeLayout xmlns:andr

  • viewpager+photoview实现图片查看器

    本文实例为大家分享了Android实现图片查看器的具体代码,供大家参考,具体内容如下 效果需要两个手指禁止缩放,所以没有光标,只能用手机投放电脑上录制动态图片: demo中实用了一个第三方的photoview,非常简单实用:可实现图片双击放大,手势放大缩小,当手指离开屏幕时如果图片小于原图可自动恢复原图大小,可实现点击监听,长按图片监听: 整个demo非常简单,整体就是一个activity,页面布局只有一个viewpager和textview <RelativeLayout xmlns:andr

  • require、backbone等重构手机图片查看器

    本文是对之前的部分补充,也是对最近学习require.backbone的一次实例化的实践,希望对正在学习理解中的同学们有帮助 前文请前往:制作手机使用的网页图片查看器 新手机图片查看器 网页部分 require引入是重点,指明了主函数所在文件路径 <!doctype html> <html lang="zh-cn"> <head> <title>webapp图片查看器</title> <meta charset=&quo

  • jQuery实现简单的图片查看器

    项目中自己diy了一个图片查看器.因为初始代码不是自己的,只是在上面改了一下也没有弄的很漂亮.等以后有时间了在重写一下样式和封装,作为备用的只是积累吧.如果有童鞋有用到,完全可以在此基础上改,比较容易,代码也比较简单 图片查看器主要有几个功能: 1.显示图片和图片信息(图片名称.发布者等等) 2.切换图片 3.关闭图片查看器 初始化接口函数pictureViewer.init: function(picInfos,tapNumber,isBig) picInfos: 传入图片组信息,必须,格式如

  • 移动端js图片查看器

    本文实例为大家分享了js图片查看器插件的使用方法,制作手机使用的网页图片查看器,供大家参考,具体内容如下 这几天抽空在为项目开发一个量身的图片查看器,目前已初步完成需求. 开发场景是:在一个多文件下载展示列表中,如检测某些文件为图片时,则点击该文件时打开图片查看器展示该图片,并将列表内其它图片同时展示查看器队列内,可供前后滑动查看及其它附带功能. 乍一听功能点似乎有点多而且有些复杂,需要梳理一下 功能点整理 首先,我们要获得点击的图片文件对象及符合条件的图片文件对象集 其次,图片查看器的制作及图

  • 基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)

    最近由于公司项目需要图片查看器,网上搜了一圈,感觉资料很少,所以决定基于百度的touch.js手势库+zepto.js自己写了一个小插件,实现了左右滑动,双指缩放,双击缩放功能,基本使用还行,但是有时候还是不太顺畅,后续会慢慢完善:写的不好的地方望各位能够给出好的建议,谢谢! 源码地址:https://github.com/GLwen/molong_photoSwipe.git 演示:http://runjs.cn/detail/iceaaogh molong.css *{padding:0;m

  • C#如何实现图片查看器

    这篇文章将简单介绍下如何使用C#来实现一个图片查看器的功能的,该工具保存的功能有: 1. 可以通过"上一张" "下一张"这样的按钮来轮换浏览图片  2.实现对图片的旋转  3.实现对旋转后图片的保存功能.本程序不仅提供旋转90/180/270这样的实现,同时提供一个方法来完成旋转任意角度的实现 4.该程序未实现Windows图片查看图片缩放的功能,这部分的功能主要要点是改变图片在PictureBox控件中的高度和宽度就可以的 二.实现思路 2.1 图片轮换浏览功能的

  • Android实现的可以调整透明度的图片查看器实例

    本文以实例讲解了基于Android的可以调整透明度的图片查看器实现方法,具体如下:  main.xml部分代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"

  • JS网页图片查看器(兼容IE、FF)可控制图片放大缩小移动

    修正了网上其它版本的一些错误.完美无错版 JS网页图片查看器-可控制图片放大缩小还原移动效果 body { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 12px; line-height: 180%; } td { font-size: 12px; line-height: 150%; } drag = 0 move = 0 //

  • CSS+JS构建的图片查看器

    这是一个使用 CSS + JS 构建的简易图片查看器,采用缩略图点击查看大图,可以分别显示每张图片的描述,大图显示位置采用固定宽度和高度,超出部分隐藏,点击大图可查看完全尺寸,兼容性:IE.Firefox .Opera. JS部分 function showPic (whichpic) {  if (document.getElementById) {   document.getElementById('placeholder').src = whichpic.href; if (whichp

  • 网页中的图片查看器viewjs使用方法

    需求分析: 对于网页中的图片进行连续放大(便于用户清晰查看内容).缩小,旋转等操作,可以使用viewjs图片查看器插件实现. viewjs官方网址:https://github.com/fengyuanchen/viewerjs 具体使用方法请参照官网说明. 下面做2个简单的示例: 1.示例一:单一图片 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"

随机推荐