现在的位置: 首页 > 综合 > 正文

Android如何实现onFling()

2013年09月08日 ⁄ 综合 ⁄ 共 2275字 ⁄ 字号 评论关闭

今天弄了快一整天,看了很多网上的资料,尝试了很多种解决方法,但都未能成功。

最终,参考了http://blog.csdn.net/lideguo1979/article/details/7317343的博客,现把可以运行的代码,奉献给大家。。。

没有使用.xml的资源,为方便和我一样的新人学习与调试。

 

package com.example.test;

import android.os.Bundle;
import android.app.Activity;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.widget.TextView;

public class MainActivity extends Activity {
 static StringBuilder builder = new StringBuilder();
 static TextView textView;
 private GestureDetector gd1;
 

 public void onCreate(Bundle state){
  super.onCreate(state);
  textView = new TextView(this);
  textView.setText("Touch and Drag one finger");
  gd1 = new GestureDetector(this, new LearnGestureListener());
  setContentView(textView);
 }

 public boolean onTouchEvent(MotionEvent event) {
  if (gd1.onTouchEvent(event))
   return true;
  else
   return false;
 }
 
}

class LearnGestureListener extends GestureDetector.SimpleOnGestureListener{
    @Override
    public boolean onSingleTapUp(MotionEvent ev) {
     MainActivity.builder.setLength(0);
     MainActivity.builder.append("onSingleTapUp");
     MainActivity.textView.setText(MainActivity.builder.toString());
        return true;
    }
    @Override
    public void onShowPress(MotionEvent ev) {
     MainActivity.builder.setLength(0);
     MainActivity.builder.append("onShowPress_LG");
     MainActivity.textView.setText(MainActivity.builder.toString());
    }
    @Override
    public void onLongPress(MotionEvent ev) {
     MainActivity.builder.setLength(0);
     MainActivity.builder.append("onLong_LG");
     MainActivity.textView.setText(MainActivity.builder.toString());
    }
    @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {

     MainActivity.builder.setLength(0);
     MainActivity.builder.append("onScroll_LG");
     MainActivity.textView.setText(MainActivity.builder.toString());
        return true;
    }
    @Override
    public boolean onDown(MotionEvent ev) {
     MainActivity.builder.setLength(0);
     MainActivity.builder.append("onDown_LG");
     MainActivity.textView.setText(MainActivity.builder.toString());
        return true;
    }
    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

     MainActivity.builder.setLength(0);
     MainActivity.builder.append("onFling_LG");
     MainActivity.textView.setText(MainActivity.builder.toString());
        return true;
    }
   
}

 

抱歉!评论已关闭.