zoukankan      html  css  js  c++  java
  • 图片放大缩小(和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 }
  • 相关阅读:
    mini2440烧写nor flash
    mini2440系统引导(五)串口UART
    mini2440系统引导(四)存储控制器
    mini2440系统引导(三)当前状态寄存器CPSR
    mini2440系统引导(二)中断寄存器
    mini2440系统引导(一)看门狗
    filebeat版本问题导致logstash无法处理接收到的日志
    kernel: possible SYN flooding on port 80. Sending cookies
    grok正则
    【转载】kafka 基础知识
  • 原文地址:https://www.cnblogs.com/zzw1994/p/5003785.html
Copyright © 2011-2022 走看看