android 手势操作GestureDetector
package com.sphere.gesturetest; import android.os.Bundle; import android.app.Activity; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.Menu; import android.view.MotionEvent; import android.widget.Toast; public class MainActivity extends Activity implements OnGestureListener{ GestureDetector gestureDetector; private int MIN_DESTANCE = 50; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gestureDetector = new GestureDetector(this,this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onTouchEvent(MotionEvent event) { //交给手势检测类处理touch事件 return gestureDetector.onTouchEvent(event); } //用户按下时触发 @Override public boolean onDown(MotionEvent arg0) { // TODO Auto-generated method stub toast("按下"); return false; } //用户在屏幕上拖动时触发 @Override public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2, float arg3) { // TODO Auto-generated method stub if(arg0.getX() - arg1.getX() > MIN_DESTANCE){ toast("向左滑"); } if(arg0.getX() - arg1.getX() < MIN_DESTANCE){ toast("向右滑"); } return false; } @Override public void onLongPress(MotionEvent arg0) { // TODO Auto-generated method stub toast("长按"); } @Override public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2, float arg3) { // TODO Auto-generated method stub //toast("滚动。。。。"); return false; } //当用户在屏幕上按下 而且还未移动和松开时触发 @Override public void onShowPress(MotionEvent arg0) { // TODO Auto-generated method stub toast("onShowPress。。。。"); } //用户在触摸屏上轻击事件将会触发 @Override public boolean onSingleTapUp(MotionEvent arg0) { // TODO Auto-generated method stub toast("onSingleTapUp。。。。"); return false; } public void toast(String text){ Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。