0
我正试图编写一个小型Android应用程序,每次触摸屏幕时都会重新绘制图像。Android在触摸屏幕时将图像重新绘制到新位置
我期望的图像重新绘制到由event.getX()
和event.getY()
提供当我重写在一个活动的onTouch(Event)
方法新x,y
坐标。
任何人都可以帮忙吗?
我正试图编写一个小型Android应用程序,每次触摸屏幕时都会重新绘制图像。Android在触摸屏幕时将图像重新绘制到新位置
我期望的图像重新绘制到由event.getX()
和event.getY()
提供当我重写在一个活动的onTouch(Event)
方法新x,y
坐标。
任何人都可以帮忙吗?
我认为,你会有图像的位图对象。
您可以从onTouch()方法调用onDraw()方法来绘制位图。这里的一个代码示例示出被覆盖的的onDraw()方法:
protected void onDraw(Canvas canvas)
{
canvas.drawBitmap(imgBitmap, x, y, null);
}
x,y是所述触摸的新坐标。 imgBitmap是图像的位图对象。您可以在onTouch()方法中更新实例变量x和y。
希望这有助于!
这就是我正在做的,但当我触摸屏幕时,图像不会重绘 – Arkangel
您是否调用invalidate()来刷新绘制周期? – c05mic
公共布尔的onTouchEvent(MotionEvent事件) \t { \t \t 开关(event.getAction()){ \t情况MotionEvent.ACTION_DOWN: \t \t INT X =(int)的event.getX(); \t \t int y =(int)event.getY(); \t \t Rect rect = new Rect(); \t \t rect.set(50,50,x,y); \t \t canvas.drawBitmap(bob565,null,rect,null); \t \t \t break; \t case MotionEvent.ACTION_UP: \t \t invalidate(); \t \t break; \t} \t return true; \t} – Arkangel