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