Android-GestureDetector手势滑动
来源:互联网 发布:网络棋牌游戏制作 编辑:程序博客网 时间:2024/05/17 03:24
目标效果:
程序运行,手指在屏幕上从左往右或者从右往左滑动超过一定距离,就会吐司输出滑动方向和距离。
1.activity_main.xml页面放置一个ImageView控件。
activity_main.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" tools:context=".MainActivity" > <ImageView android:id="@+id/ivShow" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/ic_launcher" /></RelativeLayout>
2.MainActivity.java页面实现滑动方法。
MainActivity.java页面:
package com.example.gesturedetector;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.GestureDetector;import android.view.GestureDetector.SimpleOnGestureListener;import android.view.Menu;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 {private ImageView ivShow;private GestureDetector gestureDetector;class myGestureListener extends SimpleOnGestureListener{@Override/*识别滑动,第一个参数为刚开始事件,第二个参数为结束事件*/public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {if(e1.getX()-e2.getX()>50){Toast.makeText(MainActivity.this,"从右往左滑动"+(e1.getX()-e2.getX()),Toast.LENGTH_LONG).show();}else if(e2.getX()-e1.getX()>50){Toast.makeText(MainActivity.this,"从左往右滑动"+(e2.getX()-e1.getX()),Toast.LENGTH_LONG).show();}return super.onFling(e1, e2, velocityX, velocityY);}}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gestureDetector=new GestureDetector(MainActivity.this,new myGestureListener());ivShow=(ImageView) findViewById(R.id.ivShow);ivShow.setLongClickable(true); //view必须设置为true,否则手势识别无法正确工作ivShow.setOnTouchListener(new OnTouchListener() {/*可以捕获到触摸屏幕发生的Event事件*/@Overridepublic boolean onTouch(View arg0, MotionEvent event) {gestureDetector.onTouchEvent(event);//转发return false;}});}}
3.程序较简单,运行就可以显示目标效果了。
0 0
- Android-GestureDetector手势滑动
- Android手势滑动GestureDetector和OnGestureListener(二)
- Android手势滑动GestureDetector和OnGestureListener(一)
- Android使用GestureDetector实现手势滑动效果
- 屏幕滑动手势GestureDetector
- GestureDetector 手势滑动识别
- GestureDetector识别手势滑动
- GestureDetector手势滑动识别
- android GestureDetector简单手势检测(左右滑动、上下滑动)
- android手势操作滑动效果触摸屏事件处理、GestureDetector用法
- Android中手势滑动翻页之GestureDetector总结
- Android GestureDetector手势识别
- android 手势操作GestureDetector
- Android GestureDetector 手势基础
- Android GestureDetector 手势基础
- android 手势操作GestureDetector
- Android GestureDetector 手势基础
- Android GestureDetector 手势检测
- pwnable.kr之cmd1
- Android--移植android ndk c++各种兼容性问题
- Spring学习笔记
- [Learning OpenCV](1) OPenCV的结构和内容
- iOS多线程总结
- Android-GestureDetector手势滑动
- poj 2778 DNA Sequence ac自动机+矩阵快速幂
- Mixing Milk
- ubuntu 平台上 安装 opencv实践
- Android Test
- (Pod造成的)One of the two will be used. Which one is undefined.
- 非对称加密RSA的应用及在C#中的实现
- LeetCode127—Word Ladder
- Android 自定义RecyclerView 实现真正的Gallery效果