欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

android手势滑动——左右滑动效果实现

发布时间:2025/3/18 编程问答 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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手势滑动——左右滑动效果实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。