
private voID performZoomTest(int numUpdates) { long downTime = SystemClock.uptimeMillis(); long eventTime = SystemClock.uptimeMillis(); float x1 = 0; float y1 = 0; display main = activity.getwindowManager().getDefaultdisplay(); float x2 = main.getWIDth(); float y2 = main.getHeight(); float xstep = x2 / (2 * numUpdates); float ystep = y2 / (2 * numUpdates); int ID1 = 0 << MotionEvent.ACTION_POINTER_ID_SHIFT; int ID2 = 1 << MotionEvent.ACTION_POINTER_ID_SHIFT; MotionEvent event = MotionEvent.obtain(downTime,eventTime,MotionEvent.ACTION_DOWN + ID1,x1,y1,0); sendPointerSync(event); event = MotionEvent.obtain(downTime,MotionEvent.ACTION_DOWN + ID2,x2,y2,0); sendPointerSync(event); waitForIDleSync(); for (int i = 0; i < numUpdates; i++) { eventTime = SystemClock.uptimeMillis(); Log.i("",Integer.toString(i)); x1 += xstep; y1 += ystep; x2 -= xstep; y2 -= ystep; event = MotionEvent.obtain(downTime,MotionEvent.ACTION_MOVE + ID1,0); Log.i("ID1",Integer.toString(MotionEvent.ACTION_MOVE + ID1)); sendPointerSync(event); event = MotionEvent.obtain(downTime,MotionEvent.ACTION_MOVE + ID2,Integer.toString(MotionEvent.ACTION_MOVE + ID2)); sendPointerSync(event); waitForIDleSync(); } eventTime = SystemClock.uptimeMillis(); event = MotionEvent.obtain(downTime,MotionEvent.ACTION_UP + ID1,MotionEvent.ACTION_UP + ID2,0); sendPointerSync(event); waitForIDleSync();} 结果似乎是应用程序将两个事件视为不同,并且不将它们注册为单个事件.有没有更好的方法呢?
解决方法 看看这里: https://stackoverflow.com/questions/522312/best-practices-for-unit-testing-android-apps我认为使用标准AndroID框架无法进行多点触控单元测试.
总结以上是内存溢出为你收集整理的android – 如何让MotionEvent进行缩放?全部内容,希望文章能够帮你解决android – 如何让MotionEvent进行缩放?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)