1

我需要让图像响应 Android 中的触摸事件。换句话说,用户应该能够在屏幕上移动图像。我正在使用 API Demos 的 TouchExampleActivity 项目中的代码,但我看到的是图像响应缓慢。

当我拖动图像时,它会跟踪我的光标(在模拟器上)。如果我缓慢移动,它会稍微移动一点,以便光标和图像之间有几毫米的距离。如果我移动得更快,分离会变得更糟。

以下是 Android 提供的代码示例中的相关方法:

public TouchExampleView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    mIcon = context.getResources().getDrawable(R.drawable.icon);
    mIcon.setBounds(0, 0, mIcon.getIntrinsicWidth(), mIcon.getIntrinsicHeight());
    mDetector = VersionedGestureDetector.newInstance(context, new GestureCallback());
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
    mDetector.onTouchEvent(ev);                
    return true;
}

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    canvas.save();
    canvas.translate(mPosX, mPosY);
    canvas.scale(mScaleFactor, mScaleFactor);
    mIcon.draw(canvas);
    canvas.restore();
}

有任何想法吗?理想情况下,我需要图像以“自然”的方式跟随我的光标(手指),就好像我在物理世界的桌子上移动一个对象一样。

4

0 回答 0