Android入门(53)——第八章 使用GestureDetector进行手势识别
2015-07-15 11:40
701 查看
1. 简介:
2. 案例一:
第一步:布局文件:
2. 案例一:
第一步:布局文件:
<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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="190dp" android:src="@drawable/ic_launcher" /> </RelativeLayout>第二步:MainActivity文件:
package com.example.gesturedetectodemo; import android.os.Bundle; import android.app.Activity; import android.view.GestureDetector; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends Activity { ImageView img; GestureDetector myGestureDetector; class myGestureListener extends SimpleOnGestureListener { @Override // 滑动过程中,e1是开始事件,e2是结束事件 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // TODO Auto-generated method stub if (e1.getX() - e2.getX() > 1) { Toast.makeText(MainActivity.this, "从右往左滑动", 2000).show(); } else if (e2.getX() - e1.getX() > 1) { Toast.makeText(MainActivity.this, "从左往右滑动", 2000).show(); } return super.onFling(e1, e2, velocityX, velocityY); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); img = (ImageView) findViewById(R.id.img); myGestureDetector = new GestureDetector(MainActivity.this, new myGestureListener()); // myGestureDetector = new GestureDetector(new myGestureListener()); img.setOnTouchListener(new OnTouchListener() { // 触屏一刹那,触发MotionEvent事件: // 它可以捕获触摸屏幕发生的Event事件: @Override public boolean onTouch(View v, MotionEvent event) { // GestureDetector转发MotionEvent对象至OnGestureListener myGestureDetector.onTouchEvent(event); return false; } }); } }这个例子我也不知道为什么,我没有实现。
相关文章推荐
- android Li 4000 stView ListSelector 不起作用(被覆盖)
- Android开发中support_v4包版本不同导致的Unable to instantiate activity ComponentInfo
- Android PullToRefresh (ListView GridView 上下拉刷新) 使用详解
- 如何编写更省电的Android应用
- Android Studio 使用笔记: 重命名和重构
- Android 应用在后台弹出提示相关的笔记1
- 导入Android新项目出错总结
- Android快速开发框架大全
- 底部导航栏的实现方式
- Android Studio 使用感受 错误解决
- 浅谈android应用的版本更新
- Android优化汇总
- Android使用反射机制设置ListView的默认焦点
- Android ListView note
- Android SQLite数据库增删改查操作的使用详解
- Android开发:adb无法连接手机
- 一、通过发送系统广播让android关机、重启
- Android 触摸事件处理机制
- Android开源相机,内附Demo及源码5
- Android studio快捷键