【发布时间】:2014-02-26 12:01:15
【问题描述】:
我需要像在电子游戏中一样拖动图像。我画了几条线,我需要拖动它并查看在“出”窗口之前绘制的线。我给你两张图片试图帮助你理解它。
拖动前的图像:
然后我用手指触摸屏幕并移动到屏幕顶部,所以这三行必须高于初始图像,如下所示:
我不知道如何做这种“拖曳效应”,有人可以帮我吗?这不是 .jpg 文件形式的图像,是在画布上用“drawLine”绘制的三行到 imageView。
我的 onTouchEvent 代码和我的 drawRectangle 代码:
public boolean onTouch(View view, MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_UP:
{
x = event.getX();
y = event.getY();
getFirstFoot();
return true;
}
case MotionEvent.ACTION_MOVE:
{
ammountX = event.getX() - startX;
ammountY = event.getY() - startY;
canvas.save();
canvas.translate(ammountX, ammountY);
//canvas.restore();
imageView.invalidate();
return true;
}
case MotionEvent.ACTION_DOWN:
{
startX = event.getX();
startY = event.getY();
}
}
return true;
}
绘制矩形代码:
private void drawRectangle(boolean erase)
{
buttonRed.setVisibility(View.VISIBLE);
buttonGree.setVisibility(View.VISIBLE);
buttonYellow.setVisibility(View.VISIBLE);
Bitmap bitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.ascensorsininfo);
canvas.drawBitmap(bitmap2, x - (bitmap2.getWidth() / 2), y - bitmap2.getHeight(), new Paint());
drawedPoints.add(String.valueOf(x - (bitmap2.getWidth() / 2)));
drawedPoints.add(String.valueOf(y - bitmap2.getHeight()));
imageView.invalidate();
y -= bitmap2.getHeight();
}
我们将不胜感激任何解决方案。谢谢!
【问题讨论】:
标签: java android android-canvas draw