android识别 单击和双击事件
16lz
2021-12-04
package com.test.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 AndroidTestActivity 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); } public boolean onTouchEvent(MotionEvent me) { return gestureScanner.onTouchEvent(me); } public boolean onDown(MotionEvent e) { //viewA.setText("-" + "DOWN" + "-"); return true; } 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; } public void onLongPress(MotionEvent e) { //viewA.setText("-" + "LONG PRESS" + "-"); } 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; } public void onShowPress(MotionEvent e) { //viewA.setText("-" + "SHOW PRESS" + "-"); } public boolean onSingleTapUp(MotionEvent e) { Log.v("test", "onSingleTapUp"); //viewA.setText("-" + "SINGLE TAP UP" + "-"+ i++); return true; } }
更多相关文章
- android 拖拽图片&拖动浮动按钮到处跑
- Android(安卓)利用adb命令 使App自动点击屏幕指定位置
- Android(安卓)-- EditText插入表情
- android APP响应H5页面的点击事件(JS交互)
- android 自定义TextView中Html超链接点击事件详解
- Android(安卓)ListView组件中android:drawSelectorOnTop含义
- 让EditText无法点击编辑和RatingBar无法点击
- Android点击2次返回按钮退出应用程序
- android TextView 实现自定义文字点击效果