【发布时间】:2023-03-31 17:47:01
【问题描述】:
我一直试图在触摸事件发生后立即在 ImageView 内绘制一个圆圈,在 Touch 的位置。我已经制定了一些例子,包括Android - Canvas drawLine inside ImageView。 我的问题是,圆圈出现在大约。比触摸点低 117px。 我的代码 -
public boolean onTouchEvent(MotionEvent event){
Canvas c;
Paint p;
ImageView v;
Bitmap bm;
v = (ImageView)findViewById(R.id.image1);
bm = Bitmap.createBitmap(v.getWidth(),v.getHeight(),Config.ARGB_8888);
c = new Canvas(bm);
p = new Paint();
p.setColor(Color.GREEN);
float x = event.getX(); float y = event.getY();
c.drawCircle(x, y, 20, p);
v.setImageBitmap(bm);
return true;
}
Here 是 AVD 的屏幕截图(我也在真机上测试过)。我不知道出了什么问题或我遗漏了什么基本事实。 请帮忙。
【问题讨论】:
标签: android android-canvas android-imageview touch-event