android左右滑动翻页查看图片

原创 2015年10月31日 20:16:07

java部分代码

package com.xpc.onflingdemo;

import java.io.File;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.widget.ImageView;

public class MainActivity extends Activity implements // 手势事件监控接口
		android.view.GestureDetector.OnGestureListener {
	private GestureDetector gestureDetector = null;
	private ImageView img;
	private String filepath[];// 路径数组
	private int k = 0;

	@SuppressWarnings("deprecation")
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		File sd = Environment.getExternalStorageDirectory();
		String path = sd.getPath();// 获取当前手机储存路径storage
		filepath = new String[9];// 路径数组初始化
		for (int i = 0; i < filepath.length; i++) {
			filepath[i] = path + "/picturereceive/beautiful" + i + ".jpg"; // path后为手机图片路径运行,需要更改为自己手机中图片路径
		}
		img = (ImageView) findViewById(R.id.imageView1);
		gestureDetector = new GestureDetector(this); // 声明检测手势事件
		File file = new File(filepath[k]);// 设置初始背景图片
		if (file.exists()) {
			Bitmap bm = BitmapFactory.decodeFile(filepath[k]);
			img.setImageBitmap(bm);
		} else {
			System.out.println("<<<<<<<<<<<<<<<<<<<<" + filepath[k]);
			System.out.println("<<<<<<<<<<<<<<<<<<<Not Find picture[0]");
		}
	}

	@Override
	public boolean onTouchEvent(MotionEvent event) {
		return gestureDetector.onTouchEvent(event); // 注册手势事件
	}

	@Override
	public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
			float velocityY) {
		if (e2.getX() - e1.getX() > 120) { // 从左向右滑动(左进右出)
			if (k > 0) {
				k--;
				File file = new File(filepath[k]);
				if (file.exists()) {
					Bitmap bm = BitmapFactory.decodeFile(filepath[k]);
					img.setImageBitmap(bm);
				} else {
					System.out.println("<<<<<<<<<<<<<<<<<<<Not Find picture["
							+ k + "]");
				}
			}
			return true;
		} else if (e2.getX() - e1.getX() < -120) { // 从右向左滑动(右进左出)
			if (k < 8) {
				k++;
				File file = new File(filepath[k]);
				if (file.exists()) {
					Bitmap bm = BitmapFactory.decodeFile(filepath[k]);
					img.setImageBitmap(bm);
				}
			}
			return true;
		}
		return true;
	}

	@Override
	public boolean onDown(MotionEvent e) {
		// TODO 自动生成的方法存根
		return false;
	}

	@Override
	public void onLongPress(MotionEvent e) {
		// TODO 自动生成的方法存根

	}

	@Override
	public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
			float distanceY) {
		// TODO 自动生成的方法存根
		return false;
	}

	@Override
	public void onShowPress(MotionEvent e) {
		// TODO 自动生成的方法存根

	}

	@Override
	public boolean onSingleTapUp(MotionEvent e) {
		// TODO 自动生成的方法存根
		return false;
	}

}
xml布局文件代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>

注意manifest文件中添加手机读取权限

demo下载地址

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

android 页面切换左右滑动动画

styles.xml文件中定义 @style/OutInAnimTheme

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

使用Android ViewPager与PhotoView实现图片滑动查看

安卓新手,最近在写一个小的个人项目,其中需要全屏查看一组网络图片。其实就是简单的图片查看功能。在网上搜了实现方法,最终在Github上找到了一个叫做Touch Gallery的项目,它不仅能够载入本地...
  • trojx2
  • trojx2
  • 2016年01月03日 17:02
  • 4637

Android 使用ViewPager实现左右循环滑动图片

ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1.    首先...

Android ViewPager 实现图片左右滑动查看

效果图:   左右滑动展示图片,页面底部的小点表示当前图片的位置,浅蓝色的小点表示当前正在查看的图片。 布局文件: http://schemas.android...

Android图片查看器,点击可放大缩小,左右滑动

前言:每次看到微信和朋友圈的时候点击图片放大效果动画感觉还不错,还可以根据图片定位获取图片,动画展开,这个开始让我思索。其实没有想象中的那个难 ,就是获取图片的定位相对来说难一点而已。...
  • SYIF88
  • SYIF88
  • 2017年03月15日 14:39
  • 1034

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

android之实现上下左右翻页效果

如果实现上下或者左右翻页效果,我们借助下这个开源项目:https://github.com/openaphid/android-flip Aphid FlipView是一个能够实现Flipboard翻...

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android左右滑动翻页查看图片
举报原因:
原因补充:

(最多只允许输入30个字)