嗨,我是Android开发的新手,我希望能够用画布来画画。 我有几个问题,develop.android.com网站没有说清楚:
- 您可以为不同的视图使用简单的画布,或者每次要添加新视图时是否必须创建新画布?
- 位图是唯一可以绘制到画布上的图像类型“东西”吗?例如在我下面的代码中我有一个名为漩涡的drawable但是我不能使用它,我是否必须将其转换为位图?我该怎么做?
包ple.kon15;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.View;
import android.widget.ImageView;
public class DrawBG extends View {
Bitmap swirls = BitmapFactory.decodeResource(getResources(),R.drawable.swirls);
public DrawBG(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.drawBitmap(swirls, swirls.getWidth(), swirls.getHeight(),null);
}
public DrawBG(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public DrawBG(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
答案 0 :(得分:0)
BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_resource);
答案 1 :(得分:0)
1-是的,每个视图都有自己的画布,但你也可以拥有一个画布的复杂视图,
2-您应该使用BitmapFactory.decodeResource(your_context.getResources(), R.drawable.swirls);
对其进行解码。不仅仅是位图,你可以绘制线条,顶点,矩形,圆角矩形,带画布的路径,如果你想做更复杂的事情,如游戏或复杂的动画,你也可以使用SurfaceView
但你应该仔细思考,因为它更先进一点,并给你所有的surcace处理