我正在尝试创建最简单的2D绘图程序,以便找出我无法弄清楚绘图的内容。这个程序应该只绘制一个20x20的矩形。这就是我所拥有的:
布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.example.drawing
android:id="@+id/DrawView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout>
drawView函数:
package com.example.drawing;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class DrawView extends View{
Paint mPaint;
public DrawView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setFocusable(true);
initDrawView();
}
public DrawView(Context context, AttributeSet attrs) {
super(context, attrs);
setFocusable(true);
initDrawView();
}
public void initDrawView(){
mPaint = new Paint();
mPaint.setColor(0xFF000000);
}
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawRect(0,0,20,20, mPaint);
}
}
的活动:
package com.example.drawing;
import android.app.Activity;
import android.os.Bundle;
public class HelloDraw extends Activity {
private DrawView dr;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
此程序无法运行。我错过了什么?我确信这是荒谬的,但我似乎无法找到它。
答案 0 :(得分:1)
从您的例外情况来看,您希望布局中标记名称的com.example.drawing
是您提供的类的名称。您的完全限定班级名称为com.example.drawing.DrawView
。