android 触摸监听重写_Android监听屏幕的滑动事件
實現監聽屏幕上下左右滑動事件
前段時間為了實現這個功能在網上找了很多教程,發現很多教程都是很大的篇幅,對于像我這種一點都不了解的人GestureListener的人來說可能很難理解,動不動就是幾百行代碼,也不方便我們瀏覽到自己想要的信息。我那時就在想:其實我就只是想簡單的實現監聽屏幕的滑動事件,哪用得著這么麻煩。
之后經過大量的查找,才發現實現這個功能的簡單方法,通過繼承GestureDetector的SimpleOnGestureListener這個類然后重寫onFling方法在里面實現相應的邏輯就完成了這個功能,下面是代碼:
public class MainActivity extends AppCompatActivity {
//定義滑動的最小距離
private static final int MIN_DISTANCE=100;
private GestureDetector gestureDetector;
private MyGestureDetector myGestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//實例化MyGestureDetector
myGestureDetector=new MyGestureDetector();
//實例化GestureDetector并將MyGestureDetector實例傳入
gestureDetector=new GestureDetector(this,myGestureDetector);
}
/**
* 重寫onTouchEvent返回一個gestureDetector的屏幕觸摸事件
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
/**
* 自定義MyGestureDetector類繼承SimpleOnGestureListener
*/
class MyGestureDetector extends GestureDetector.SimpleOnGestureListener{
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if(e1.getX()-e2.getX()>MIN_DISTANCE){
Toast.makeText(MainActivity.this,"左滑",Toast.LENGTH_SHORT).show();
}else if(e2.getX()-e1.getX()>MIN_DISTANCE){
Toast.makeText(MainActivity.this,"右滑",Toast.LENGTH_SHORT).show();
}else if(e1.getY()-e2.getY()>MIN_DISTANCE){
Toast.makeText(MainActivity.this,"上滑",Toast.LENGTH_SHORT).show();
}else if(e2.getY()-e1.getY()>MIN_DISTANCE){
Toast.makeText(MainActivity.this,"下滑",Toast.LENGTH_SHORT).show();
}
return true;
}
}
}
這個方法相比起實現GestureDetector.OnGestureListener要方便得多,GestureDetector.OnGestureListener必須要重寫下面的所有方法:
按下(onDown):剛剛手指接觸到觸摸屏的那一剎那,就是觸的那一下。
拋擲(onFling):手指在觸摸屏上迅速移動,并松開的動作。
長按(onLongPress):手指按在持續一段時間,并且沒有松開。
滾動(onScroll):手指在觸摸屏上滑動。
按住(onShowPress):手指按在觸摸屏上,它的時間范圍在按下起效,在長按之前。
抬起(onSingleTapUp)手指離開觸摸屏的那一剎那。
而GestureDetector.SimpleOnGestureListener只需要選擇對我們需要重寫的方法重寫,顯得更加的簡單,想重寫什么方法就重寫什么方法。
總結
以上是生活随笔為你收集整理的android 触摸监听重写_Android监听屏幕的滑动事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一机一码加密软件_加密软件还有哪些功能?
- 下一篇: ksweb如何安装php5.6_php5