仿微信朋友圈双击顶部回到最前端(GestureDetector.OnDoubleTapListener)

listView.setSelection(0);

  1. public class MainActivity extends Activity implements OnTouchListener{
  2. private GestureDetector mGestureDetector;
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7. mGestureDetector = new GestureDetector(new gestureListener()); //使用派生自OnGestureListener
  8. mGestureDetector.setOnDoubleTapListener(new doubleTapListener());
  9. TextView tv = (TextView)findViewById(R.id.tv);
  10. tv.setOnTouchListener(this);
  11. tv.setFocusable(true);
  12. tv.setClickable(true);
  13. tv.setLongClickable(true);
  14. }
  15. /*
  16. * 在onTouch()方法中,我们调用GestureDetector的onTouchEvent()方法,将捕捉到的MotionEvent交给GestureDetector
  17. * 来分析是否有合适的callback函数来处理用户的手势
  18. */
  19. public boolean onTouch(View v, MotionEvent event) {
  20. return mGestureDetector.onTouchEvent(event);
  21. }
  22. //OnGestureListener监听
  23. private class gestureListener implements GestureDetector.OnGestureListener{
  24. public boolean onDown(MotionEvent e) {
  25. Log.i("MyGesture", "onDown");
  26. Toast.makeText(MainActivity.this, "onDown", Toast.LENGTH_SHORT).show();
  27. return false;
  28. }
  29. public void onShowPress(MotionEvent e) {
  30. Log.i("MyGesture", "onShowPress");
  31. Toast.makeText(MainActivity.this, "onShowPress", Toast.LENGTH_SHORT).show();
  32. }
  33. public boolean onSingleTapUp(MotionEvent e) {
  34. Log.i("MyGesture", "onSingleTapUp");
  35. Toast.makeText(MainActivity.this, "onSingleTapUp", Toast.LENGTH_SHORT).show();
  36. return true;
  37. }
  38. public boolean onScroll(MotionEvent e1, MotionEvent e2,
  39. float distanceX, float distanceY) {
  40. Log.i("MyGesture22", "onScroll:"+(e2.getX()-e1.getX()) +"   "+distanceX);
  41. Toast.makeText(MainActivity.this, "onScroll", Toast.LENGTH_LONG).show();
  42. return true;
  43. }
  44. public void onLongPress(MotionEvent e) {
  45. Log.i("MyGesture", "onLongPress");
  46. Toast.makeText(MainActivity.this, "onLongPress", Toast.LENGTH_LONG).show();
  47. }
  48. public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
  49. float velocityY) {
  50. Log.i("MyGesture", "onFling");
  51. Toast.makeText(MainActivity.this, "onFling", Toast.LENGTH_LONG).show();
  52. return true;
  53. }
  54. };
  55. //OnDoubleTapListener监听
  56. private class doubleTapListener implements GestureDetector.OnDoubleTapListener{
  57. public boolean onSingleTapConfirmed(MotionEvent e) {
  58. Log.i("MyGesture", "onSingleTapConfirmed");
  59. Toast.makeText(MainActivity.this, "onSingleTapConfirmed", Toast.LENGTH_LONG).show();
  60. return true;
  61. }
  62. public boolean onDoubleTap(MotionEvent e) {
  63. Log.i("MyGesture", "onDoubleTap");
  64. Toast.makeText(MainActivity.this, "onDoubleTap", Toast.LENGTH_LONG).show();
  65. return true;
  66. }
  67. public boolean onDoubleTapEvent(MotionEvent e) {
  68. Log.i("MyGesture", "onDoubleTapEvent");
  69. Toast.makeText(MainActivity.this, "onDoubleTapEvent", Toast.LENGTH_LONG).show();
  70. return true;
  71. }
  72. };
  73. }

参考:

用户手势检测-GestureDetector使用详解

时间: 2024-07-28 22:23:25

仿微信朋友圈双击顶部回到最前端(GestureDetector.OnDoubleTapListener)的相关文章

Android 仿微信朋友圈发动态功能(相册图片多选)

代码分享 代码名称: 仿微信朋友圈发动态功能(相册图片多选) 代码描述: 仿微信朋友圈发动态功能(相册图片多选) 代码托管地址: http://www.apkbus.com/android-152760-1-1.html 代码作者: 楼主 代码效果图: 本帖最后由 ^.^ 于 2014-7-8 16:23 编辑 <ignore_js_op> <ignore_js_op> <ignore_js_op> DEMO一共13个类 大约2000行代码,童鞋们耐心点看基本思路是:1

Android:NineGridLayout — 仿微信朋友圈和QQ空间的九宫格图片展示自定义控件

NineGridLayout 一个仿微信朋友圈和QQ空间的九宫格图片展示自定义控件. GitHub:https://github.com/HMY314/NineGridLayout 一.介绍 1.当只有1张图时,可以自己定制图片宽高,也可以使用默认九宫格的宽高: 2.当只有4张图时,以2*2的方式显示: 3.除以上两种情况下,都是按照3列方式显示,但这时有一些细节: a.如果只有9张图,当然是以3*3的方式显示: b.如果超过9张图,可以设置是否全部显示. 如果设置不完全显示,则按照3*3的方式

仿微信朋友圈点赞和评论功能

仿微信朋友圈点赞和评论功能 最近在做朋友圈的项目,所以写一个Demo,代码就是简单实现了一下功能,没有做优化,凑合看 图文排列是用的RecyclerView实现的,弹窗效果是用的自定义的PopupWindow,点赞应该是在本地请求数据库,设置一个flag,获取当前用户的id后,带着id向服务器post一个flag,评论就比较简单了,也是获取当前朋友id(或者昵称),带着内容,向服务器post 贴代码: package com.example.lenovo.dianzandemo; import

高仿微信朋友圈

简单介绍 写这个微信朋友圈的目的是今年公司开展了一个趣味运动会,有一个比赛项目是微信点赞.对于我们程序猿来说,这不是送分嘛.于是我们团队光荣的把这个写一个朋友的任务交给了我,要求是类似度百分之99以上,能上传自己定义照片,能更改点赞数与评论数.包含姓名.日期等都能改,于是花费了3天时间写了这个高仿的微信,因为时间关系,代码写的不是非常好.多多谅解.须要的朋友也能够继续完好.因为功能也不少.就不贴代码,直接上图,后面会给下载Demo链接. 主界面 我的相冊 这里提示一下.长按点击我的相冊右上角的相

仿微信朋友圈发图片

仿微信朋友圈发图片 下载地址:http://www.devstore.cn/code/info/934.html 运行截图:    

Android 修改源码自定义SwipeRefreshLayout样式——高仿微信朋友圈下拉刷新

修改源码自定义SwipeRefreshLayout样式——高仿微信朋友圈下拉刷新 原文地址:https://www.cnblogs.com/zhujiabin/p/8194996.html

ReactNative仿微信朋友圈App

摘要: 欢迎各位同学加入: React-Native群:397885169 大前端群:544587175 大神超多,热情无私帮助解决各种问题. 一.前沿||潜心修心,学无止尽.生活如此,coding亦然.本人鸟窝,一只正在求职的鸟.联系我可以直接微信:jkxx123321 二.关于该App的介绍,采用UGC用户共享内容,用户下载注册后,可以发布内容到平台,多用户之间可以相互关注(关注也相当于加好友了)用到的核心技术不多,后期持续跟新,项目完善后会上传github共享.**该App本人还基于Nod

IOS仿微信朋友圈好友展示

前几天小伙伴要帮他做一个群聊功能,里面有好友列表,要求和微信的差不多(见下图),让小伙伴自己实现了下,他将CollectionView放在tableView的tableHead中,可是当添加好友或删除好友刷新数据源的时候并没有效果.让他将CollectionView放在tableView的cell中,结果是数据刷新了可是还是有问题删除后刷新数据时CollectionView的高度变的有问题,我就调了下,实现比较简单,只是一些细节问题,现在效果还蛮不错的,分享一下. 1.定义CollectionV

零门槛!ZBLibrary仿微信朋友圈自定义View,就是这么简单!

传统方法是继承现有View再重写方法,这种方式缺点很多: 1.往往不能在xml编辑器中预览效果: 2.比较难实现预期效果,比如设置宽度为wrap_content,实际显示为match_parent等: 3.需要在xml代码中声明自定义View的全路径,经常无法自动补全,需要手动复制粘贴路径: 4.一旦自定义View修改了全路径(移动至其它package.删除等),xml代码中并不会同步,但能编译通过,然后在渲染这个自定义View时崩溃: 5.需要学习draw,measure等平时比较少用的方法: