最近想实现Android左滑弹出菜单框,右滑消失菜单这个个功能。了解了一下Android 的滑动事件,必须是在view组件或者Activity上实现,同时必须实现OnTouchListener, OnGestureListener这个两个接口。
public class MyRelativeLayout extends RelativeLayout implements GestureDetector.OnGestureListener{ private float mPosX, mPosY, mCurPosX, mCurPosY; private static final int FLING_MIN_DISTANCE = 20;// 移动最小距离 private static final int FLING_MIN_VELOCITY = 200;// 移动最大速度 //构建手势探测器 GestureDetector mygesture = new GestureDetector(this); public MyRelativeLayout(Context context){ super(context) } public MyRelativeLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } public MyRelativeLayout(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override public boolean onTouchEvent(MotionEvent arg0) { // TODO Auto-generated method stub return mDetector.onTouchEvent(arg0); } @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; } @Override public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // TODO Auto-generated method stub // e1:第1个ACTION_DOWN MotionEvent // e2:最后一个ACTION_MOVE MotionEvent // velocityX:X轴上的移动速度(像素/秒) // velocityY:Y轴上的移动速度(像素/秒) // X轴的坐标位移大于FLING_MIN_DISTANCE,且移动速度大于FLING_MIN_VELOCITY个像素/秒 //向左 if (e1.getY() - e2.getY() > FLING_MIN_DISTANCE){ // && Math.abs(velocityX) > FLING_MIN_VELOCITY) { collapse(); } //向上 if (e2.getY() - e1.getY() > FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY) { } return false; } }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java 递归调用会对性能产生哪些影响?(java递归调用的性能影响 )
- Java Solr究竟支持哪些查询语法?(Java Solr支持哪些查询语法)
- Java 中的获取绝对值操作是否能应用于数组?(java获取绝对值能否应用于数组)
- Redis客户端批量操作技巧
- Java 读取文件时导致内存溢出的原因都有哪些?(java读取文件内存溢出的原因有哪些)
- 如何通过 Java Socket 编程实现双向通信?(java socket编程如何实现双向通信)
- 如何通过 Java Rsync 提升安全性?(java rsync怎样提高安全性 )
- Java FXML 国际化如何进行操作?(java fxml国际化怎么操作)
- Java Jersey 如何实现跨域请求?(详细教程及示例代码)(java jersey如何实现跨域请求)
- Java 中如何识别 jfif 格式图片?(Java中jfif格式图片如何识别)
猜你喜欢
AI推送时光机Android手势左右滑动效果
后端开发2023-05-30
Android HorizontalScrollView左右滑动效果
后端开发2022-06-06
Android实现图片左右滑动效果
后端开发2022-06-06
Android获取触摸手势实现左右滑动
后端开发2022-06-07
android左右滑动切换效果怎么实现
后端开发2023-10-23
Android实现左右滑动效果的方法详解
后端开发2022-06-06
Android实现微信首页左右滑动切换效果
后端开发2022-06-06
Android实现顶部导航菜单左右滑动效果
后端开发2022-06-06
Android组件banner实现左右滑屏效果
后端开发2022-06-06
如何在Android中实现左右滑动的指引效果
后端开发2022-06-06
Android 使用ViewPager实现左右循环滑动及轮播效果
后端开发2022-06-06
使用vue怎么实现左右滑动效果
后端开发2023-06-15
vue实现左右滑动效果实例代码
后端开发2024-04-02
如何在Android中实现渐显按钮的左右滑动效果
后端开发2022-06-06
Android实现手势滑动和简单动画效果
后端开发2023-05-31
Android实现图片自动轮播并且支持手势左右无限滑动
后端开发2022-06-06
Android开发之使用ViewPager实现图片左右滑动切换效果
后端开发2022-06-06
咦!没有更多了?去看看其它编程学习网 内容吧