布局中的画布和绘图图像

时间:2012-03-31 16:56:13

标签: android canvas

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

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);启动活动的应用程序。之后,我点击屏幕和画布在我点击的地方绘制图片。这有可能吗?

1 个答案:

答案 0 :(得分:1)

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

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