public class MainActivity extends AppCompatActivity {
public static final String TAG = "MainActivity";
GestureDetector mGestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mGestureDetector = new GestureDetector(new GestureDetectorListener());
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return mGestureDetector.onTouchEvent(event);
}
//distance 向x正方向(右) 為負 ,向Y正反向(下)為負
class GestureDetectorListener implements GestureDetector.OnGestureListener {
@Override
public boolean onDown(MotionEvent e) {
//手指接觸屏幕,ACTION_DOWN
Log.i(TAG,"onDown:e.getX()="+e.getX()+":e.getY()="+e.getY());
return false;
}
@Override
public void onShowPress(MotionEvent e) {
//ACTION_DOWN 之后 LongPress之前
Log.i(TAG,"onShowPress:e.getX()="+e.getX()+":e.getY()="+e.getY());
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
//ACTION_DOWN - ACTION_UP之后 單擊事件
Log.i(TAG,"onSingleTapUp:e.getX()="+e.getX()+":e.getY()="+e.getY());
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
//ACTION_MOVE 滑動
Log.i(TAG,"onScroll:e1.getX()="+e1.getX()+":e1.getY()="+e1.getY()+"|||e2.getX()="+e2.getX()+":e2.getY()="+e2.getY()+"|||distanceX="+distanceX+":distanceY="+distanceY);
return false;
}
@Override
public void onLongPress(MotionEvent e) {
//長點擊 觸發前會觸發shwoPress
Log.i(TAG,"onLongPress:e.getX()="+e.getX()+":e.getY()="+e.getY());
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//滑動速度大于 MINIMUM_FLING_VELOCITY(默認50)調用。發生在onScroll之后
Log.i(TAG,"onFling:e1.getX()="+e1.getX()+":e1.getY()="+e1.getY()+"|||e2.getX()="+e2.getX()+":e2.getY()="+e2.getY()+"|||distanceX="+velocityX+":velocityY="+velocityY);
return false;
}
}
}
GestureDetector各個響應回調簡單說明
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 一般來說,喜歡站立的人,比喜歡躺著或或坐著的人,身材更好。與躺著的姿勢相比,站姿所消耗的能量要多出10%。而單腿站...
- BottomBar + fragment LinearLayout + TextView RadioGroup +...