图片放大缩小(和ViewPager配合使用流畅显示)--第三方开源--PhotoView

图片的放大缩小实现效果是使用的github上的一个开源项目photoView实现的,下载地址:https://github.com/chrisbanes/PhotoView

下面看测试代码:

activity_main.xml:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5
 6     <android.support.v4.view.ViewPager
 7         android:id="@+id/viewPager"
 8         android:layout_width="match_parent"
 9         android:layout_height="match_parent" >
10     </android.support.v4.view.ViewPager>
11
12 </RelativeLayout>

MainActivity.java:

 1 package com.zzw.tetsphotoview;
 2
 3 import java.util.ArrayList;
 4 import java.util.List;
 5
 6 import uk.co.senab.photoview.PhotoViewAttacher;
 7
 8 import android.app.Activity;
 9 import android.content.Context;
10 import android.os.Bundle;
11 import android.os.Handler;
12 import android.os.Message;
13 import android.support.v4.view.PagerAdapter;
14 import android.support.v4.view.ViewPager;
15 import android.view.View;
16 import android.view.ViewGroup;
17 import android.widget.ImageView;
18
19 public class MainActivity extends Activity {
20     ViewPager mViewPager;
21     List<ImageView> imageViews;
22
23     @Override
24     protected void onCreate(Bundle savedInstanceState) {
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.activity_main);
27         mViewPager = (ViewPager) findViewById(R.id.viewPager);
28         mViewPager.setAdapter(new ImageAdapter(this));
29     }
30
31     class ImageAdapter extends PagerAdapter {
32         Context context;
33         int[] images;
34
35         public void init() {
36             imageViews = new ArrayList<ImageView>();
37             images = new int[] { R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d };
38             for (int i = 0; i < images.length; i++) {
39                 ImageView image = new ImageView(context);
40                 image.setImageResource(images[i]);
41
42                 //使图片实现可以放大缩小的功能
43                 PhotoViewAttacher mAttacher=new PhotoViewAttacher(image);
44
45
46                 imageViews.add(image);
47
48
49             }
50 //            for (int i : images) {
51 //                ImageView image = new ImageView(context);
52 //                image.setImageResource(i);
53 //                imageViews.add(image);
54 //             }
55         }
56
57         public ImageAdapter(Context context) {
58             this.context = context;
59             init();
60         }
61
62         @Override
63         public void destroyItem(ViewGroup container, int position, Object object) {
64             container.removeView(imageViews.get(position));
65         }
66
67         @Override
68         public View instantiateItem(ViewGroup container, int position) {
69             container.addView(imageViews.get(position));
70
71             return imageViews.get(position);
72         }
73
74         @Override
75         public int getCount() {
76             return imageViews.size();
77         }
78
79         @Override
80         public boolean isViewFromObject(View arg0, Object arg1) {
81             return arg0 == arg1;
82         }
83
84     }
85
86 }
时间: 2024-10-21 06:15:11

图片放大缩小(和ViewPager配合使用流畅显示)--第三方开源--PhotoView的相关文章

swift3.0 图片放大缩小动画效果

一. 内容说明 跟我之前这篇类似,只不过那篇是OC版本,这篇是Swift版本 OC版本链接地址 目的:通过kingfisher请求5张图片,展示出来.然后利用图片放大缩小管理类展示图片,多张图片可以滑动浏览 效果图如下,想看动态的效果图,请看上面链接中的OC版本效果图,跟这篇是一样的. 本demo,只加载本地图片的demo下载链接 ,需要加载网络图片的,需要下载Kingfisher 二.源码展示 0. 图片测试demo源码 [html] view plain copy import Founda

鼠标滚轮图片放大缩小功能,使用layer弹框后不起作用

今天在项目中遇到的一个问题:点击按钮使用layer弹框弹出一张图片,需要加一个鼠标滚轮放大缩小,图片也跟着放大缩小的功能.于是在网上找了一个demo. DEMO: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="

javascript仿新浪微博图片放大缩小及旋转效果

经常看到新浪微博里有图片放大缩小旋转效果,感觉效果还不错,所以就想试着做一个类似的demo出来,至于旋转对于IE可以用滤镜来解决,标准的浏览器可以用html5中的canvas画布来解决. 思路:1.点击小图后,小图隐藏掉,在小图父级元素后增加一张大图且显示出来. 2.点击往左转,往右转触发旋转方法. 3. 点击收起按钮,把1的步骤反过来 隐藏大图 显示小图. 4. 点击查看原图功能 目前没有做成js灯箱效果,直接打开一个新连接.但是如果想做成灯箱效果的话,可以看我这篇博客,灯箱效果演示 我们可以

图片放大缩小闪烁效果

<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>css3 图片放大缩小闪烁效果</title> <style></style> <style> body{background:#7fa8d1;opacity:0.5.6;} .flicker_down{ width:105p

css3 图片放大缩小闪烁效果

直接把图片替换就可以了,我的图片是透明的,所以body设置为黑色的,不不要可以去掉 <!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>css3 图片放大缩小闪烁效果</title> <style> body{background:#000;opacity:0.8;} .flicker_down{ w

jQuery照片伸缩效果,不是单纯的图片放大缩小,不影响其他元素的布局

之前在网上看到这种特效,无奈当时没有收藏网址,导致后来一度不知道这个特效是怎么实现的.今天特意在网上搜罗了一下,果然功夫不负有心人,被我找到了. 我也努力过自己尝试着写: 但只是单纯的图片放大,而且还影响了图片周围的元素的布局(因为图片放大占据了更大的空间). 后来发现要灵活巧妙的运用overflow和position这两个属性,就能达到目的.其实我觉得CSS(CSS3)中的overflow和position(顺带的top,bottom,left,right)简直是做网页特效无解的组合,当然还是

uiscrollview 图片放大缩小

1.UIScrollView下图片的捏合放大和缩小,我们直接用scrollView自带的属性就可以了,这个没什么好说,我们直接贴代码: [plain] view plaincopy //控制器 theScroll=[[UIScrollView alloc] initWithFrame:frame]; theScroll.userInteractionEnabled=YES; theScroll.maximumZoomScale=2.0;//最大倍率(默认倍率) theScroll.minimum

Canvas实现图片放大缩小移动操作

对于HTML5相信大家都不陌生,很早就出来了,但是貌似都没有真正的使用过.最近做项目时要实现这样一个需求:一个图片,大小不固定,要求能实现类似地图一样放大.缩小.移动功能.这里就很合适使用html5的canvas画布.实现步骤如下:1. 定义一个canvas标签. <canvas id="bargraphCanvas" width="500" height="600"></canvas> 这里有个很重要的地方,就是这个wi

使用scrollview实现图片放大缩小

1 #import "ViewController.h" 2 #import <UIKit/UIMenuController.h> 3 4 @interface ViewController ()<UIScrollViewDelegate> 5 @property (strong, nonatomic) UIScrollView *scrView; 6 7 @property (nonatomic,strong)UIImageView *imgv; 8 @end