<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<!-- 定义ImageView控件 -->
<ImageView
android:id="@+id/Iv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/k1" />
</RelativeLayout>
package com.example.yanlei.yl;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.text.Html;
import android.text.Html.ImageGetter; import java.util.regex.Matcher;
import java.util.regex.Pattern; import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.Button; import android.app.Activity;
import android.content.Intent; import android.view.GestureDetector;
import android.view.MotionEvent;
import android.widget.ImageView; public class MainActivity extends AppCompatActivity {
// 定义保存ImageView的对象
private ImageView Iv;
//定义手势检测器对象
private GestureDetector gestureDetector;
//定义图片的资源数组
private int[] ResId = new int[]{
R.drawable.k1,
R.drawable.k2,
R.drawable.k3
};
//定义当前显示的图片的下标
private int count = 0; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
findView();
setListener();
} private void setListener() {
//设置手势监听器的处理效果由onGestureListener来处理
gestureDetector = new GestureDetector(MainActivity.this,
onGestureListener);
} @Override
public boolean onTouchEvent(MotionEvent event) {
//当前Activity被触摸时回调
return gestureDetector.onTouchEvent(event);
} private void findView() {
//得到当前页面的imageview控件
Iv = (ImageView) findViewById(R.id.Iv);
}
//定义了GestureDetector的手势识别监听器
private GestureDetector.OnGestureListener onGestureListener
= new GestureDetector.SimpleOnGestureListener() {
//当识别的收拾是滑动手势时回调onFinger方法
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
//得到滑动手势的其实和结束点的x,y坐标,并进行计算
float x = e2.getX() - e1.getX();
float y = e2.getY() - e1.getY(); //通过计算结果判断用户是向左滑动或者向右滑动
if (x > 0) {
count++;
count %= 3;
} else if (x < 0) {
count--;
count = (count + 3) % 3;
}
//切换imageview的图片
changeImg();
return true;
}
}; public void changeImg() {
//设置当前位置的图片资源
Iv.setImageResource(ResId[count]);
} }

最新文章

  1. include的用法例子,以及include+merge的用法例子
  2. mongDB-- 3. 查询操作
  3. poj1543-Perfect Cubes(暴力)
  4. C#-WinForm-三级联动
  5. 【NOIP模拟赛】秦时明月
  6. Win2D 官方文章系列翻译 - 幕后绘制
  7. ASP.NET CompareValidator 控件在VS2012中出错的问题
  8. HttpResponseCache 网络缓存使用
  9. com.atomikos.icatch.HeurHazardException: Heuristic Exception
  10. CentOS环境下中文显示乱码,vim和ls命令显示中文均为乱码的解决办法
  11. LoadRunner性能测试-LoadRunner工具安装
  12. [补档]happiness
  13. CenOS_文件目录类操作命令
  14. XXS level6
  15. 参数在一个线程中各个函数之间互相传递的问题(ThreadLocal)
  16. 微软新一代Surface发布,参数曝光
  17. HDOJ-1124 Factorial 数论
  18. 转oracle 学习 - 表空间
  19. 设计模式:观察者(Observer)模式
  20. POJ 1177 Picture(线段树:扫描线求轮廓周长)

热门文章

  1. MySQL开启日志跟踪
  2. CSS 布局经典问题初步整理
  3. vue组件从开发到发布
  4. centos7.2安装redis与配置(史上最全)
  5. pandas模块(很详细归类),pd.concat(后续补充)
  6. Lex与Yacc学习(六)之lex &amp; yacc (简单计算器程序) 运行
  7. Java-字符转比较
  8. Dell Idrac Normal Settings
  9. Educational Codeforces Round 31
  10. Codeforces Round #405 (rated, Div. 2, based on VK Cup 2017 Round 1) 菜鸡只会ABC!