Android 通过onDraw实现在View中绘图操作的示例
程序员文章站
2023-01-01 23:47:46
android绘图操作,通过继承view实现,在ondraw函数中实现绘图。下面是一个简单的例子:复制代码 代码如下:public class androidtest ex...
android绘图操作,通过继承view实现,在ondraw函数中实现绘图。
下面是一个简单的例子:
public class androidtest extends activity {
/** called when the activity is first created. */
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
myview mv = new myview(this);
setcontentview(mv);
}
public class myview extends view {
myview(context context) {
super(context);
}
@override
protected void ondraw(canvas canvas) {
// todo auto-generated method stub
super.ondraw(canvas);
// 首先定义一个paint
paint paint = new paint();
// 绘制矩形区域-实心矩形
// 设置颜色
paint.setcolor(color.blue);
// 设置样式-填充
paint.setstyle(style.fill);
// 绘制一个矩形
canvas.drawrect(new rect(0, 0, getwidth(), getheight()), paint);
// 绘空心矩形
// 设置颜色
paint.setcolor(color.red);
// 设置样式-空心矩形
paint.setstyle(style.stroke);
// 绘制一个矩形
canvas.drawrect(new rect(10, 10, 100, 30), paint);
// 绘文字
// 设置颜色
paint.setcolor(color.green);
// 绘文字
canvas.drawtext("hello", 10, 50, paint);
// 绘图
// 从资源文件中生成位图
bitmap bitmap = bitmapfactory.decoderesource(getresources(), r.drawable.icon);
// 绘图
canvas.drawbitmap(bitmap, 10, 60, paint);
}
}
}
下面是一个简单的例子:
复制代码 代码如下:
public class androidtest extends activity {
/** called when the activity is first created. */
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
myview mv = new myview(this);
setcontentview(mv);
}
public class myview extends view {
myview(context context) {
super(context);
}
@override
protected void ondraw(canvas canvas) {
// todo auto-generated method stub
super.ondraw(canvas);
// 首先定义一个paint
paint paint = new paint();
// 绘制矩形区域-实心矩形
// 设置颜色
paint.setcolor(color.blue);
// 设置样式-填充
paint.setstyle(style.fill);
// 绘制一个矩形
canvas.drawrect(new rect(0, 0, getwidth(), getheight()), paint);
// 绘空心矩形
// 设置颜色
paint.setcolor(color.red);
// 设置样式-空心矩形
paint.setstyle(style.stroke);
// 绘制一个矩形
canvas.drawrect(new rect(10, 10, 100, 30), paint);
// 绘文字
// 设置颜色
paint.setcolor(color.green);
// 绘文字
canvas.drawtext("hello", 10, 50, paint);
// 绘图
// 从资源文件中生成位图
bitmap bitmap = bitmapfactory.decoderesource(getresources(), r.drawable.icon);
// 绘图
canvas.drawbitmap(bitmap, 10, 60, paint);
}
}
}