android手势滑动——左右滑动效果实现

1/** 2 * 手势监听 3 * 4 * @author lifengfeng 5 * 6 */ 7public class MainActivity extends Activity implements OnTouchListener, 8 OnGestureListener { 9 // 创建一个用于识别收拾的GestureDetector对象 10 @SuppressWarnings("deprecation") 11 private GestureDetector detector = new GestureDetector(this); 12 // 新建一个LinearLayout布局对象,这里是指主页面的布局 13 private LinearLayout myLayout; 14 // 限制最小移动像素 15 private int FLING_MIN_DISTANCE = 110; 16 // 定义的Toast提示框显示时间 17 private int TIME_OUT = 1000; 18 private static final String TAG = "Main"; 19 20 @Override 21 protected void onCreate(Bundle savedInstanceState) { 22 super.onCreate(savedInstanceState); 23 setContentView(R.layout.activity_main); 24 myLayout = (LinearLayout) findViewById(R.id.test_layout); 25 // 为布局绑定监听 26 myLayout.setOnTouchListener(this); 27 } 28 29 /** 30 * 手势滑动时别调用 31 */ 32 @Override 33 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, 34 float velocityY) { 35 // X轴的坐标位移大于FLING_MIN_DISTANCE,且移动速度大于FLING_MIN_VELOCITY个像素/秒 36 if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE) { 37 // 向左滑动 38 Toast.makeText(this, "向左滑动", TIME_OUT).show(); 39 } else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE) { 40 // 向右滑动 41 Toast.makeText(this, "向右滑动", TIME_OUT).show(); 42 } 43 return false; 44 } 45 46 /** 47 * 长按时被调用 48 */ 49 @Override 50 public void onLongPress(MotionEvent e) { 51 Log.d(TAG, "触发长按回调"); 52 } 53 54 /** 55 * 滚动时调用 56 */ 57 @Override 58 public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, 59 float distanceY) { 60 return false; 61 } 62 63 /** 64 * 在按下动作时被调用 65 */ 66 @Override 67 public boolean onDown(MotionEvent e) { 68 Log.d(TAG, "按下回调"); 69 return false; 70 } 71 72 /** 73 * 按住时被调用 74 */ 75 @Override 76 public void onShowPress(MotionEvent e) { 77 Log.d(TAG, "按住不松回调"); 78 } 79 80 /** 81 * 抬起时被调用 82 */ 83 @Override 84 public boolean onSingleTapUp(MotionEvent e) { 85 Log.d(TAG, "触发抬起回调"); 86 return false; 87 } 88 89 /** 90 * 重写OnTouchListener的onTouch方法 此方法在触摸屏被触摸,即发生触摸事件(接触和抚摸两个事件)的时候被调用 91 */ 92 @Override 93 public boolean onTouch(View v, MotionEvent event) { 94 detector.onTouchEvent(event); 95 return true; 96 } 97}

版权声明:本文为博主原创文章,未经博主允许不得转载。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

UIWebView长按保存图片和识别图片二维码的实现方案(使用缓存)

0x00需求:长按识别UIWebView中的二维码,如下图长按识别二维码0x01方案1:给UIWebView增加一个长按手势,激活长按手势时获取当前UIWebView的截图,分析是否包含二维码。核心代码:略优点:流程简单,可以快速实现。不足:无法实现保存UIWebView中图片,如果当前We