在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.