Android使用继承View类来绘图

添加新类MyView继承View

在MyView中实例化Paint

复制代码
 1 package com.hu.viewdemo;
 2 
 3 import android.content.Context;
 4 import android.graphics.Canvas;
 5 import android.graphics.Color;
 6 import android.graphics.Paint;
 7 import android.graphics.Paint.Style;
 8 import android.graphics.Path;
 9 import android.view.View;
10 
11 public class MyView extends View{
12 
13     private Paint paint;//画笔
14     
15     public MyView(Context context) {
16         super(context);
17         // TODO Auto-generated constructor stub
18         paint = new Paint();
19         paint.setColor(Color.RED);//设置画笔颜色
20         paint.setAntiAlias(true);//设置抗锯齿
21         paint.setStyle(Style.STROKE);//设置为空心
22         paint.setStrokeWidth(1);//设置空心边距为1
23         paint.setTextSize(40);//设置字符串高
24     }
25 
26     @Override
27     protected void onDraw(Canvas canvas) {
28         // TODO Auto-generated method stub
29         super.onDraw(canvas);
30         canvas.drawCircle(100, 100, 20, paint);//画个圆
31         canvas.drawText("这是字符串", 0, 40, paint);//写字,指定左下角位置
32         canvas.drawRect(100, 200, 200, 300, paint);//画矩形
33         Path path=new Path();//创建路径
34         path.moveTo(300, 200);
35         path.lineTo(300, 300);
36         path.lineTo(200, 400);//指定路径
37         canvas.drawPath(path, paint);//沿路径绘图
38     }
39 
40 }
复制代码

然后在activity类中将MyView的实例设为ContentView

复制代码
 1 package com.hu.viewdemo;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 
 6 public class ViewDemoActivity extends Activity {
 7     /** Called when the activity is first created. */
 8     @Override
 9     public void onCreate(Bundle savedInstanceState) {
10         super.onCreate(savedInstanceState);
11         MyView mv=new MyView(this);
12         setContentView(mv);
13     }
14 }
复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值