Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何让MotionEvent进行缩放?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个仪器,我想用来测试我的应用程序,但我似乎无法得到捏缩放以正确模拟.这是我目前的代码.它的要点是:将手指1和手指2向下推,将它们彼此靠近移动,然后将它们两者释放.

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进行缩放?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: