Android中如何模拟一次点击(touch)事件

在Android中有时需要模拟某一个View的touch事件,来达到对该View的功能相应处理的简单化,因为你只需要模拟对该View的touch事件,便能沿着原来touch的事件相应走下去,不需要添加任何代码,你可以这么做:

 1 //模拟触屏点击屏幕事件
 2                 int x = 0;
 3                 int y = 0;
 4                 final long downTime = SystemClock.uptimeMillis();
 5                 final MotionEvent downEvent = MotionEvent.obtain(
 6                         downTime, downTime, MotionEvent.ACTION_DOWN, x, y, 0);
 7                 final MotionEvent upEvent = MotionEvent.obtain(
 8                         downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, x, y, 0);
 9                 //添加到webview_loading_round_iv上
10                 home_label_webview.onTouchEvent(downEvent);
11                 home_label_webview.onTouchEvent(upEvent);
12                 downEvent.recycle();
13                 upEvent.recycle();

从代码可以看出这里的重点是需要知道两个点:一是你模拟touch的坐标,在这里就是xy,二就是你需要设置响应这个touch事件的View.

posted @ 2016-08-23 14:47  蛋蛋嘚忧伤  阅读(8982)  评论(0编辑  收藏  举报