左右滑动实现activity之间的跳转
来源:互联网 发布:天庭淘宝店 下载 编辑:程序博客网 时间:2024/05/16 01:29
首先来看一下实现效果
1. BaseActivity extends Activity
首先,由于activity类之间存在很多共性 ,比如跳以及滑动等事件,所以需要抽象出一个父类来,简化代码量。
附代码:
/** * 按照1、2、3的步骤走 * /public abstract class BaseActivity extends Activity { private GestureDetector gestureDetector; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //2、实例化手势管理的对象,用于管理屏幕监听事件onTouchEvent(event)传递过来的手势动作 gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener(){ @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //监听手势的移动 到底是从左往右还是从右往左 //e1:手指按下的移动事件. float e1X = e1.getRawX(); float e1Y = e1.getRawY(); // e2 : 手指移动的动作事件. float e2X = e2.getRawX(); float e2Y = e2.getRawY(); // 跳转判断方式一:手指滑动的X轴方向的如果小于50,无效果,单位是px if (Math.abs(e2X - e1X) < 50) { Toast.makeText(getApplicationContext(), "左右滑动小于50px", 0).show(); return false; // 跳转判断方式二:比较e2,e1得到的Y值,获取两数绝对值判断是否上下滑动 } else if (Math.abs(e2Y - e1Y) > 200) { Toast.makeText(getApplicationContext(), "手势上下滑动", 0) .show(); return false; // 比较e2,e1得到的Y值,获取两数绝对值判断是否左右滑动 } else if (Math.abs(e2X - e1X) > 50) { // 判断是否左滑 if ((e2X - e1X) > 0) { Toast.makeText(getApplicationContext(), "右滑", 0) .show(); // 判断是否右滑 } else { Toast.makeText(getApplicationContext(), "左滑", 0) .show(); } return true; } //跳转判断方式三: 直接进行左右比值判断 稍微一有滑动就发生跳转 if(e1.getX()-e2.getX()>0){ //子类实现跳转的方法 showNextPage(); } if(e1.getX()-e2.getX()<0){ //子类实现跳转的方法 showPrePage(); } return super.onFling(e1, e2, velocityX, velocityY); } }); } //1、首先监听屏幕上响应的事件类型 @Override public boolean onTouchEvent(MotionEvent event) { //3、通过手势处理类,接收多种类型的事件,用作处理 gestureDetector.onTouchEvent(event); return super.onTouchEvent(event); } //跳转到下一页的抽象方法 protected abstract void showNextPage(); //跳转到上一页的抽象方法 protected abstract void showPrePage(); //实现跳转下一页的方法 public void nextPage(View view){ showNextPage(); } //实现跳转上一页的方法 public void prePage(View view){ showPrePage(); }}
0 0
- 左右滑动实现activity之间的跳转
- 左右滑动实现Activity间的转换
- 实现左右滑动切换Activity
- android 利用左右滑动手势实现avtivity的跳转
- 实现Activity之间跳转
- Android 左右滑动切换页面或Activity的效果实现
- android开发笔记之activity 左右滑动的实现
- Android 左右滑动切换页面或Activity的效果实现
- 带webView的Activity中实现监听左右滑动
- android 实现各activity之间的跳转
- 实现android activity之间的跳转
- fragment与activity之间的跳转实现
- 实现多Activity之间的跳转
- Activity 之间的跳转
- activity之间的跳转
- Activity之间的跳转
- activity之间的跳转
- Activity之间的跳转
- 从零开始搭建一个完善的MVP开发框架
- C++ 私有构造函数的作用
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktail”中headhau
- java Integer类的缓存
- 数字转字符串(改)
- 左右滑动实现activity之间的跳转
- Python中字典的操作
- 文本编辑器vim的使用技巧
- 欧拉定理(Tetration,玲珑杯 Round#5 E lonlife 1060)
- 软件工程项目迭代周报(一)
- pythong中文编码问题
- scanf 的格式化输出
- Android Studio导入银联sdk
- 大话数据结构9栈和队列