帮助:简单的绘图视图/程序

时间:2010-08-30 20:49:40

标签: android

我正在尝试创建最简单的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);
    }
}

此程序无法运行。我错过了什么?我确信这是荒谬的,但我似乎无法找到它。

1 个答案:

答案 0 :(得分:1)

从您的例外情况来看,您希望布局中标记名称的com.example.drawing是您提供的类的名称。您的完全限定班级名称为com.example.drawing.DrawView