思路:
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 }