下面通过一个具体的实例来说明如何创建用于绘图的画布。
1.创建一个名称为DrawView的类,继承android.view.View类,并添加构造方法和重写onDraw(Canvas canvas)方法,关键代码如下:
package com.example.test;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class DrawView extends View{
/*
* 功能:构造方法
* */
public DrawView(Context context, AttributeSet attrs) {
super(context, attrs);
}
/*
* 功能:重写onDraw方法
* */
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
}
设置布局文件main.xml
res/layout/main.xml:
创建线性布局管理器,然后在里面添加上面创建的自定义视图DrawView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tableLayout1"
android:orientation="vertical"
>
<com.example.test.DrawView
android:id="@+id/drawView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
在上面创建的自定义视图DrawView的onDraw()方法中,添加以下代码,用于绘制一个带阴影的红色矩形
Paint paint=new Paint();
paint.setColor(Color.RED);
paint.setShadowLayer(2, 3, 3, Color.rgb(180, 180, 180));
canvas.drawRect(40, 40,200,100,paint);
即是:
package com.example.test;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class DrawView extends View{
/*
* 功能:构造方法
* */
public DrawView(Context context, AttributeSet attrs) {
super(context, attrs);
}
/*
* 功能:重写onDraw方法
* */
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint=new Paint();
paint.setColor(Color.RED);
paint.setShadowLayer(2, 3, 3, Color.rgb(180, 180, 180));
canvas.drawRect(40, 40,200,100,paint);
}
}
效果如图所示
转载请注明出处:http://blog.csdn.net/acmman/article/details/45156381