android手势滑动——左右滑动效果实现
生活随笔
收集整理的這篇文章主要介紹了
android手势滑动——左右滑动效果实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | /** ?* 手勢監聽 ?* ?* @author lifengfeng ?* ?*/ public class MainActivity extends Activity implements OnTouchListener, ????????OnGestureListener { ????// 創建一個用于識別收拾的GestureDetector對象 ????@SuppressWarnings("deprecation") ????private GestureDetector detector = new GestureDetector(this); ????// 新建一個LinearLayout布局對象,這里是指主頁面的布局 ????private LinearLayout myLayout; ????// 限制最小移動像素 ????private int FLING_MIN_DISTANCE = 110; ????// 定義的Toast提示框顯示時間 ????private int TIME_OUT = 1000; ????private static final String TAG = "Main"; ????@Override ????protected void onCreate(Bundle savedInstanceState) { ????????super.onCreate(savedInstanceState); ????????setContentView(R.layout.activity_main); ????????myLayout = (LinearLayout) findViewById(R.id.test_layout); ????????// 為布局綁定監聽 ????????myLayout.setOnTouchListener(this); ????} ????/** ?????* 手勢滑動時別調用 ?????*/ ????@Override ????public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, ????????????float velocityY) { ????????// X軸的坐標位移大于FLING_MIN_DISTANCE,且移動速度大于FLING_MIN_VELOCITY個像素/秒 ????????if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE) { ????????????// 向左滑動 ????????????Toast.makeText(this, "向左滑動", TIME_OUT).show(); ????????} else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE) { ????????????// 向右滑動 ????????????Toast.makeText(this, "向右滑動", TIME_OUT).show(); ????????} ????????return false; ????} ????/** ?????* 長按時被調用 ?????*/ ????@Override ????public void onLongPress(MotionEvent e) { ????????Log.d(TAG, "觸發長按回調"); ????} ????/** ?????* 滾動時調用 ?????*/ ????@Override ????public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, ????????????float distanceY) { ????????return false; ????} ????/** ?????* 在按下動作時被調用 ?????*/ ????@Override ????public boolean onDown(MotionEvent e) { ????????Log.d(TAG, "按下回調"); ????????return false; ????} ????/** ?????* 按住時被調用 ?????*/ ????@Override ????public void onShowPress(MotionEvent e) { ????????Log.d(TAG, "按住不松回調"); ????} ????/** ?????* 抬起時被調用 ?????*/ ????@Override ????public boolean onSingleTapUp(MotionEvent e) { ????????Log.d(TAG, "觸發抬起回調"); ????????return false; ????} ????/** ?????* 重寫OnTouchListener的onTouch方法 此方法在觸摸屏被觸摸,即發生觸摸事件(接觸和撫摸兩個事件)的時候被調用 ?????*/ ????@Override ????public boolean onTouch(View v, MotionEvent event) { ????????detector.onTouchEvent(event); ????????return true; ????} } |
總結
以上是生活随笔為你收集整理的android手势滑动——左右滑动效果实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WebService的两种方式SOAP和
- 下一篇: 延迟加载、异步加载