王学岗手势识别(下)
来源:互联网 发布:seo实战密码 编辑:程序博客网 时间:2024/06/09 20:49
我们通过手势识别做出类似ViewPager的效果,
看下我们的MainActivity
package com.example.gesturedetectortest;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.GestureDetector;import android.view.GestureDetector.OnGestureListener;import android.view.MotionEvent;import android.widget.Toast;public class MainActivity extends Activity { private GestureDetector gestureDetector; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gestureDetector = new GestureDetector(this, new OnGestureListener() { // 监听各种事件 @Override public boolean onSingleTapUp(MotionEvent e) { // 抬起(单指) return false; } @Override public void onShowPress(MotionEvent e) { // 按下并松开,短按 } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // 滚动 return false; } @Override public void onLongPress(MotionEvent e) { // 长按 } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // 滑动,滑动动作很快,用户按下滑动并松开 // 监听滑动的速度 if (Math.abs(velocityX) < 100) { return true;// 消耗该事件 } // 判断左右滑动 if (e1.getRawX() - e2.getRawX() > 100) { Toast.makeText(MainActivity.this, "向左滑动", Toast.LENGTH_SHORT).show(); startActivity(new Intent(MainActivity.this, ThirdActivity.class)); return true; }else if(e2.getRawX()-e1.getRawX()>100){ Toast.makeText(MainActivity.this, "向右滑动", Toast.LENGTH_SHORT).show(); startActivity(new Intent(MainActivity.this, SecondActivity.class)); return true; } return false; } @Override public boolean onDown(MotionEvent e) { // return false; } }); } @Override public boolean onTouchEvent(MotionEvent event) { // 把触摸事件传给手势识别类 gestureDetector.onTouchEvent(event); return super.onTouchEvent(event); }}
在添加两个Activity集成MainActivity,
package com.example.gesturedetectortest;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.widget.TextView;public class SecondActivity extends MainActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv=new TextView(this); tv.setText("第二个"); tv.setBackgroundColor(Color.RED); setContentView(tv); }}
package com.example.gesturedetectortest;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.widget.TextView;public class ThirdActivity extends MainActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv=new TextView(this); tv.setText("第三个"); tv.setBackgroundColor(Color.BLUE); setContentView(tv);}}
0 0
- 王学岗手势识别(下)
- 王学岗手势识别上
- Android-手势识别(普通手势识别:上 下 左 右 ;自定义手势识别:对号,错号 等)
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- 手势识别
- mysql 分库分表
- 解决docker不能绑定静态的外网固定ip的问题
- 欢迎使用CSDN-markdown编辑器
- [LeetCode]146. LRU Cache
- 寻找峰值
- 王学岗手势识别(下)
- 竞品分析与报告撰写实战指南
- MyBatis初探
- 滚轮事件--原生JS函数封装
- Centos 6 Docker配置桥接网络
- 数论之青蛙约会
- 两点距离
- python 函数式编程入门
- 有关魅族手机遇到TextView显示异常