我需要让图像响应 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();
}
有任何想法吗?理想情况下,我需要图像以“自然”的方式跟随我的光标(手指),就好像我在物理世界的桌子上移动一个对象一样。