android MotionEvent 获取长按压时间长

思路:

1.记录ACTION_DOWN的aX, aY坐标;

2.在ACTION_MOVE判断是否移动,移动则取消记录时间,没移动就记录;

3.记录时间,按下坐标,移动坐标分别显示在TextView aa, bb, cc;

//声明

1 public class MainActivity extends ActionBarActivity {
2     private static TextView aa, bb, cc;
3     private float atime;
4     private float aX, aY;
5     private boolean mPressBreak = false;

//指定

1 aa = (TextView) findViewById(R.id.textView1);
2 bb = (TextView) findViewById(R.id.textView2); 
3 cc = (TextView) findViewById(R.id.textView3);

 

//获取按压时间长

 1 @Override
 2     public boolean onTouchEvent(MotionEvent event) {
 3         // TODO Auto-generated method stub
 4         super.onTouchEvent(event);
 5         String str = "";
 6         switch (event.getAction()) {
 7         case MotionEvent.ACTION_DOWN:
 8             aX = event.getX();
 9             aY = event.getY();
10             str = String.valueOf(aX) + " , " + String.valueOf(aY);
11             bb.setText(str);
12             mPressBreak = false;
13             break;
14         case MotionEvent.ACTION_MOVE:
15 
16             atime = (event.getEventTime() - event.getDownTime()) / 1000;
17             str = String.valueOf(event.getX()) + " , "
18                     + String.valueOf(event.getY());
19             if ((Math.abs((event.getX() - aX)) > 10)
20                     || (Math.abs(event.getY() - aY) > 10)) {
21                 atime = 0;
22                 mPressBreak = true;
23             }
24             break;
25 
26         }
27 
28         if (!mPressBreak) {
29             aa.setText(String.valueOf((int) (atime)));
30             cc.setText(str);
31         }
32 
33         return true;
34     }

 

转载于:https://www.cnblogs.com/jenson138/p/4263724.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值