Android使用ViewFlipper做页面切换,与手势滑动切换的使用
16lz
2021-01-24
写道 Android系统自带有一个多页面管理的控件:ViewFlipper.
它可以简单实现子页面的切换
它只需使用addView方法添加几个View,每个View对应的是一个页面,即可完成对于多页面的管理,,,
在android上实现手势的识别也比较简单,可以实现OnTouchListener和OnGuestureListener接口,
然后在OnTouch函数中注册GestureDetector来判别手势动作, 写道 GestureDetector.OnGestureListener:用来通知普通的手势事件,该接口有如下六个回调函数:
1. onDown(MotionEvent e):down事件;
2. onSingleTapUp(MotionEvent e):一次点击up事件;
3. onShowPress(MotionEvent e):down事件发生而move或则up还没发生前触发该事件;
4. onLongPress(MotionEvent e):长按事件;
5. onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY):滑动手势事件;
6. onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY):在屏幕上拖动事件。
主要判断是在onFling()函数里面,e1表示开始按下去的位置信息,e2表示抬起时的位置信息,因此可以通过它们在x轴上面 的距离差来是左滑还是右滑。。。
它可以简单实现子页面的切换
它只需使用addView方法添加几个View,每个View对应的是一个页面,即可完成对于多页面的管理,,,
在android上实现手势的识别也比较简单,可以实现OnTouchListener和OnGuestureListener接口,
然后在OnTouch函数中注册GestureDetector来判别手势动作, 写道 GestureDetector.OnGestureListener:用来通知普通的手势事件,该接口有如下六个回调函数:
1. onDown(MotionEvent e):down事件;
2. onSingleTapUp(MotionEvent e):一次点击up事件;
3. onShowPress(MotionEvent e):down事件发生而move或则up还没发生前触发该事件;
4. onLongPress(MotionEvent e):长按事件;
5. onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY):滑动手势事件;
6. onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY):在屏幕上拖动事件。
主要判断是在onFling()函数里面,e1表示开始按下去的位置信息,e2表示抬起时的位置信息,因此可以通过它们在x轴上面 的距离差来是左滑还是右滑。。。
更多相关文章
- C语言函数的递归(上)
- RxJava使用(一)基本使用
- NestedScrollingParent, NestedScrollingChild 详解
- Android(安卓)用 libusb 操作 USB 设备,无须 root
- Android/OPhone ListView中如何使用Button,让onClick和onItemClic
- android 多击事件的实现方法
- Android中的自绘View的那些事儿(四)之 ComposeShader组合渲染器的
- 如何在Android中获知屏幕打开或者关闭
- Android系统启动之Zygote