模仿QQ左划显示置顶, 标记, 删除
来源:互联网 发布:mysql数据库的触发器 编辑:程序博客网 时间:2024/06/05 11:20
通过GestureDetector实现左划
继承GestureDetector.OnGestureListener
public class SlideLeftLayout extends FrameLayout implements GestureDetector.OnGestureListener...
在SlideLeftLayout的dispatchTouchEvent方法中实例化GestureDetector
@Override public boolean dispatchTouchEvent(MotionEvent ev) { if (gestureDetector == null) { gestureDetector = new GestureDetector(getContext(), this); gestureDetector.setIsLongpressEnabled(false); } gestureDetector.onTouchEvent(ev); return super.dispatchTouchEvent(ev); }
实例化后, 每次在该方法中用gestureDetector.onTouchEvent(ev)处理触摸事件
在方法onScroll中控制子View linearLayout的滑动
@Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub // 如果左侧滑动distanceX为正数, 起始点减去终点 int currentX = (int) linearLayout.getX(); newX = currentX - distanceX; Log.e(TAG, "newX = " + newX); if (newX < -extraWidth) { newX = -extraWidth; } if (newX > 0) { newX = 0; } linearLayout.setX(newX); return false; }
在方法onTouchEvent中处理抬起动作
@Override public boolean onTouchEvent(MotionEvent event) { Log.d(TAG, "onTouch"); if (event.getAction() == MotionEvent.ACTION_UP) { Log.d(TAG, "onTouch ACTION_UP"); if (newX <= (-extraWidth / 2)) { linearLayout.setX(-extraWidth); } else { linearLayout.setX(0); } } return true; }
完整代码 SlideLeftLayout
Demo下载 CustomLayoutDemo
阅读全文
0 0
- 模仿QQ左划显示置顶, 标记, 删除
- tableview cell 左划删除/重命名/修改/置顶
- ListView左划删除
- Android仿QQ左滑删除置顶ListView
- 仿QQ消息列表的左滑置顶与删除
- listview左滑删除和置顶(仿QQ)
- 关于tableview的知识总结,cell左划出现删除、置顶按钮
- 模仿QQ左滑删除当前会话列表
- 彷QQ滑动删除效果—侧滑删除(置顶、标记、未读标记功能)
- tableViewcell的左滑动显示删除置顶更多的效果
- 用sidingmenu仿QQ左划菜单加listview滑动删除已解决冲突
- Android类似QQ左划出现删除按钮点击效果的ListView
- 模仿qq滑动删除
- Android 仿QQ首页ListView左滑置顶、删除等实现源码
- Android 自定义ListView实现左划删除
- RecyclerView仿QQ消息列表左滑弹出菜单,标记已读和删除
- 模仿QQ滑动删除效果
- Android仿QQ和iOS的ListView左滑出现删除和置顶等操作,可自定义菜单
- Linux学习之用户,组的基本操作
- Leetcode-Set Matrix Zeroes
- alloy-ui 2.0.0 图片轮播
- angularjs的二种数据绑定
- 使用URL Rewrite 实现网站伪静态
- 模仿QQ左划显示置顶, 标记, 删除
- HTML CSS总结
- servlet程序HTTP Status 500
- 【java基础】怎样结束控制台输入
- java夯实基础-输入输出流
- 第二篇 基本元器件认识---电容
- hibernate和Spring整合时,hibernate映射文件配置方式
- 浅析libcurl多线程安全问题
- HDU 4804 轮廓线DP