[Android 界面]一个自定义View中canvas画图的问题
我写了个类继承了View ,在onDraw()方法中绘制了背景,而 现在需要接受用户的触摸事件,在自定义的类中另外写了一个方法,在触摸的位置画一个Bitmap,如果要调用canvas.drawBitmap()的话,要有canvas对象,有没有什么办法拿到canvas对象或者其他的方法可以画图的,小弟新手 求赐教
回答1:
[Android 界面]一个自定义View中canvas画图的问题
用surfaceview可以
在surfaceviewchanged里面可以进行绘制,可以根据activity里面的监听事件具体
修改它
canvas在surfacevie的方法里new出就可以
回答2:
[Android 界面]一个自定义View中canvas画图的问题
你可以试下SurfaceView 你的点击处理事件仍然可以 在activity中处理
Canvas对象可以直接new的
回答3:
[Android 界面]一个自定义View中canvas画图的问题
你传过去就行了啊?
在另外一个类的初始化的时候,或者是调用方法的时候
回答4:
[Android 界面]一个自定义View中canvas画图的问题
本帖最后由 小贰不着急 于 2012-8-13 16:08 编辑
Canvas对象的获取方式有两种:
一种我们通过重写View.onDraw方法,View中的Canvas对象会被当做参数传递过来
另一种就是当你想创建一个Canvas对象时使用的方法:
Bitmap bitmap = Bitmap.createBitmap(宽,高, Bitmap.Config);
Canvas c = new Canvas(bitmap);
回答5:
[Android 界面]一个自定义View中canvas画图的问题
canvas new了以后怎么在界面中显示啊 canvas与View的关系是
回答6:
[Android 界面]一个自定义View中canvas画图的问题
你是说在Activity中new一个Canvas 然后传递给重写类中的画图方法? 那怎么让new的canvas显示啊
不是new哦。你在画图的时候就会得到一个canvas啊,你得传递一下
回答7:
[Android 界面]一个自定义View中canvas画图的问题
小贰不着急 发表于 2012-8-13 16:02
Canvas对象的获取方式有两种:
一种我们通过重写View.onDraw方法,View中的Canvas对象会被当做参数传递过来 ...
Bitmap bitmap = Bitmap.createBitmap(宽,高, Bitmap.Config);
Canvas c = new Canvas(bitmap);
这样创建以后怎么把这个canvas绘制的东西添加到原来的视图中并显示出来呢?
回答8:
[Android 界面]一个自定义View中canvas画图的问题
kris 发表于 2012-8-13 16:36
不是new哦。你在画图的时候就会得到一个canvas啊,你得传递一下
没懂,是onDraw()中的canvas吗 那怎么传递啊
回答9:
[Android 界面]一个自定义View中canvas画图的问题
你把用canvas绘制的东西画好的Bitmap
在View的onDraw中用onDraw的参数canvas画到你的view上去
回答10:
[Android 界面]一个自定义View中canvas画图的问题
这个很好处理的。你可以在onDraw中设置这样的逻辑
if(isTouch){
//画出你你想要的效果
}
那么你只需要在触摸时改变isTouch这个状态还有就是把触摸点记录下来就好了。
回答11:
[Android 界面]一个自定义View中canvas画图的问题
android012 发表于 2012-8-13 17:01
Bitmap bitmap = Bitmap.createBitmap(宽,高, Bitmap.Config);
Canvas c = new Canvas(bitmap);
这样创建 ...
需要用系统传给你的canvas,调用canvas.draw(bitmap,0,0,paint);其中,bitmap必须是你之前用的那个bitmap
回答12:
[Android 界面]一个自定义View中canvas画图的问题
谢谢各位帮忙,我还是用SurfaceView搞定了
回答13:
[Android 界面]一个自定义View中canvas画图的问题
android012 发表于 2012-8-15 10:09
谢谢各位帮忙,我还是用SurfaceView搞定了
LZ是怎么搞定的???给个代码呗 我现在想实现一个想QQ涂鸦那样的功能要用到这个