首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

双击事件的处置

2012-08-31 
双击事件的处理package com.aslibra.testimport android.app.Activityimport android.graphics.Colorim

双击事件的处理

package com.aslibra.test;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.GestureDetector.OnGestureListener;
import android.widget.LinearLayout;
import android.widget.TextView;

public class touchGesture extends Activity implements OnGestureListener {??????
??private LinearLayout main;??????
??private TextView viewA;
??private GestureDetector gestureScanner;

??@Override??
??public void onCreate(Bundle savedInstanceState) {??
????super.onCreate(savedInstanceState);??

????gestureScanner = new GestureDetector(this);??
????gestureScanner.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener(){??
??????public boolean onDoubleTap(MotionEvent e) {??
????????viewA.setText("-" + "onDoubleTap" + "-");??
????????//双击时产生一次
????????Log.v("test", "onDoubleTap");
????????return false;??
??????}
??????public boolean onDoubleTapEvent(MotionEvent e) {??
????????//双击时产生两次
????????Log.v("test", "onDoubleTapEvent");
????????return false;
??????}??
??????public boolean onSingleTapConfirmed(MotionEvent e) {??
????????viewA.setText("-" + "onSingleTapConfirmed" + "-");??
????????//短快的点击算一次单击
????????Log.v("test", "onSingleTapConfirmed");
????????return false;??
??????}??
????});


????main = new LinearLayout(this);??
????main.setBackgroundColor(Color.GRAY);
????main.setLayoutParams(new LinearLayout.LayoutParams(320,480));
????main.setOrientation(LinearLayout.VERTICAL);

????viewA = new TextView(this);
????viewA.setBackgroundColor(Color.YELLOW);
????viewA.setTextColor(Color.BLACK);??
????viewA.setTextSize(16);
????viewA.setLayoutParams(new LinearLayout.LayoutParams(320,50));??
????main.addView(viewA);

????setContentView(main);??
??}

??@Override??
??public boolean onTouchEvent(MotionEvent me) {??
????return gestureScanner.onTouchEvent(me);??
??}??

??@Override??
??public boolean onDown(MotionEvent e) {??
????//viewA.setText("-" + "DOWN" + "-");??
????return true;??
??}??

??@Override??
??public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {??
????//viewA.setText("-" + "FLING" + "- "+velocityX + "- "+velocityY);??
????Log.v("test", "onFling "+e1.getX()+" "+e2.getX());
????return true;??
??}??

??@Override??
??public void onLongPress(MotionEvent e) {??
????//viewA.setText("-" + "LONG PRESS" + "-");??
??}??

??@Override??
??public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {??
????//viewA.setText("-" + "SCROLL" + "- "+distanceX + "- "+distanceY);??
????Log.v("test", "onScroll "+e1.getX()+" "+e2.getX());
????return true;??
??}??

??@Override??
??public void onShowPress(MotionEvent e) {??
????//viewA.setText("-" + "SHOW PRESS" + "-");??
??}

??@Override??
??public boolean onSingleTapUp(MotionEvent e) {??
????Log.v("test", "onSingleTapUp");
????//viewA.setText("-" + "SINGLE TAP UP" + "-"+ i++);??
????return true;??
??}??
??
}??

?

?

参考资料:

1 GestureDetector and GestureDetector.OnGestureListener
2 how to implement android double tap?

原创内容如转载请注明:来自 阿权的书房<script>//&lt;![cdata[document.write(&quot;&lt;br /&gt;本帖地址:&lt;a href=\&quot;&quot;+window.location+&quot;\&quot;&gt;&quot;+window.location+&quot;&lt;/a&gt;&quot;);//]]&gt;</script>
本帖地址:http://www.aslibra.com/blog/post/android_GestureDetector.php

?

?

?

?

?

?

热点排行