布局中的画布和绘图图像



我有一个绘制图像的代码:

class Panel extends View {
        public Panel(Context context) {
            super(context);
        }
        @Override
        public void onDraw(Canvas canvas) {
            Bitmap _scratch = BitmapFactory.decodeResource(getResources(), R.drawable.calvin_logo_small);
            canvas.drawColor(Color.WHITE);
            canvas.drawBitmap(_scratch, x-point, y-point, null);
        }
    }

如何在我的活动中绘制此图像,但我不想更改五月的布局。我有布局:setContentView(R.layout.main);这可以用画布在这个lauout中绘制吗?我有这个活动,这个布局有很多组件。我只想把图片放在我用画布点击的地方。这就是想法。我用setContentView(R.layout.main);启动活动的位置启动应用程序。之后,我点击屏幕,在我点击的地方用画布绘制图片。这是可能做到的吗?

您的代码应该可以工作。只需覆盖视图的onTouchEvent(),将触摸事件的坐标存储在字段变量中,并将invalidate()存储在视图中,以便调用onDraw()。使用onDraw()中的坐标来渲染图像,就像您已经完成的那样。

为了提高性能,如果位图不会更改,可以缓存位图。

最新更新