手势

本文介绍了一种在Android应用中实现手势检测的方法,并详细展示了如何通过重写Activity的触摸事件来响应手势动作,如滑动切换Activity等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在一个activity中重写onTouchEvent() {return mGestureDetector.onTouchEvent(event);}  创建类mGestureDetector  实现OnGestureListener接口 然后重写接口中函数

2.如果activity中存在ScrollView  那么重写Activity的 public boolean dispatchTouchEvent(MotionEvent ev) {mGestureDetector.onTouchEvent(ev);    return super.dispatchTouchEvent(ev); }

package com.huawei.invertorapp.ui;

import android.app.Activity;
import android.content.Intent;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;

public class EnergyGestureDetector implements OnGestureListener{
 Activity activity;
 Intent intent;
 Class antherClass;
 public EnergyGestureDetector(Activity activity,Class antherClass){
  this.activity = activity;
  this.antherClass = antherClass;
 }
 @Override
 public boolean onDown(MotionEvent e) {
  return false;
 }
 /*
  * ���ƻ����¼�
  * @see android.view.GestureDetector.OnGestureListener#onFling(android.view.MotionEvent, android.view.MotionEvent, float, float)
  */
 @Override
 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
   float velocityY) {
  if((e1.getX()-e2.getX()>100||e2.getX()-e1.getX()>100)&&(Math.abs(e1.getY()-e2.getY())<200)){
   intent = new Intent();
   intent.setClass(activity,antherClass);
   activity.startActivity(intent);
   activity.finish();
  }
  return false;
 }
 @Override
 public void onLongPress(MotionEvent e) {
 }
 @Override
 public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
   float distanceY) {
  return false;
 }
 @Override
 public void onShowPress(MotionEvent e) {
 }
 @Override
 public boolean onSingleTapUp(MotionEvent e) {
  return false;
 }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值