在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的坐标,在这里就是x和y,二就是你需要设置响应这个touch事件的View.