一旦触摸事件发生,我一直在尝试在 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;
}
这是 AVD 的屏幕截图(我也在真实设备上对其进行了测试)。我不知道出了什么问题或我遗漏了什么基本事实。请帮忙。