Java 在屏幕部分的画布上绘制

Java 在屏幕部分的画布上绘制,java,android,canvas,draw,Java,Android,Canvas,Draw,我想在画布上画一些画,线,环等,但我想使这个只有在小面积,部分屏幕。我有一个“活动主”的布局 还有我画画的班级 public class Draw2d extends View{ public Draw2d(Context context) { super(context); // TODO Auto-generated constructor stub } protected void onDraw(Canvas canvas){ super.onDraw(canva

我想在画布上画一些画,线,环等,但我想使这个只有在小面积,部分屏幕。我有一个“活动主”的布局

还有我画画的班级

public class Draw2d extends View{

public Draw2d(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}
protected void onDraw(Canvas canvas){
    super.onDraw(canvas);
    Paint paint = new Paint();
    paint.setStyle(Paint.Style.FILL);
    paint.setColor(Color.BLUE);
    canvas.drawPaint(paint);
}
}
当我尝试启动我的应用程序时,我遇到了下一个错误

09-25 21:06:43.925: E/AndroidRuntime(28370): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.canavstest/com.example.canavstest.MainActivity}: android.view.InflateException: Binary XML file line #5: Error inflating class com.example.canavstest.Draw2d

我做错了什么?

看起来你的packageName拼写不正确。检查你的AndroidManifest

com.example.canavstest.Draw2d

应该是

com.example.canvastest.Draw2d

注意
canvas

编辑:另外,您还没有实现LayoutFlater调用的构造函数。加上这个

public Draw2d(Context context, AttributeSet attrs){
    super(context, attrs);
}

看起来你的packageName拼错了。检查你的AndroidManifest

com.example.canavstest.Draw2d

应该是

com.example.canvastest.Draw2d

注意
canvas

编辑:另外,您还没有实现LayoutFlater调用的构造函数。加上这个

public Draw2d(Context context, AttributeSet attrs){
    super(context, attrs);
}

看起来你的packageName拼错了。检查你的AndroidManifest

com.example.canavstest.Draw2d

应该是

com.example.canvastest.Draw2d

注意
canvas

编辑:另外,您还没有实现LayoutFlater调用的构造函数。加上这个

public Draw2d(Context context, AttributeSet attrs){
    super(context, attrs);
}

看起来你的packageName拼错了。检查你的AndroidManifest

com.example.canavstest.Draw2d

应该是

com.example.canvastest.Draw2d

注意
canvas

编辑:另外,您还没有实现LayoutFlater调用的构造函数。加上这个

public Draw2d(Context context, AttributeSet attrs){
    super(context, attrs);
}

您是否在
活动中初始化了
Draw2d
?否,这都是应用程序中的代码。我必须初始化的地方
Draw2d
您是否在
活动中初始化了
Draw2d
?否,这是应用程序中的所有代码。我必须初始化的地方
Draw2d
您是否在
活动中初始化了
Draw2d
?否,这是应用程序中的所有代码。我必须初始化的地方
Draw2d
您是否在
活动中初始化了
Draw2d
?否,这是应用程序中的所有代码。在这里我必须初始化
Draw2d
No,我在标题上看到了我的错误),但是不,我复制了这个包名并放入了codeOK,是的。我纠正了我的代码,就像你回答的那样。我的应用程序开始工作了,谢谢,不,我看到我在标题上的错误),但是不,我复制了这个包名并输入了代码OK,是的。我纠正了我的代码,就像你回答的那样。我的应用程序开始工作了,谢谢,不,我看到我在标题上的错误),但是不,我复制了这个包名并输入了代码OK,是的。我纠正了我的代码,就像你回答的那样。我的应用程序开始工作了,谢谢,不,我看到我在标题上的错误),但是不,我复制了这个包名并输入了代码OK,是的。我纠正了我的代码,就像你回答的那样。我的申请开始生效了,谢谢