码迷,mamicode.com
首页 > 其他好文 > 详细

View 、Canvas、Paint

时间:2017-03-17 00:34:26      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:视图   设置   blog   扩展   ttext   drawrect   size   text   int   

View:视图,每一个view都有一个用于绘图的画布,这个画布可以任意的扩展。在android中,任何一个view都需要重写onDraw()方法来实现。

Canvas:画布,利用Canvas可画出(点、直线、圆、椭圆、矩形、文字)

Paint:画笔 代表了Canvas上的画笔,画刷、颜料等。

如果paint是笔,那么canvas是笔记本,view是桌子。

绘制点、圆等实例:(先创建一个类来继承view类,然后重写onDraw方法,然后在活动中加载)

public class MyView extends View {
    //实例化三个画笔
    private Paint mPaint1 = new Paint();
    private Paint mPaint2 = new Paint();
    private Paint mPaint3 = new Paint();

    public MyView(Context context) {
        super(context);
        //设置画笔的颜色,粗细
        mPaint1.setColor(Color.BLUE);
        mPaint1.setStrokeWidth(4);
        mPaint2.setColor(Color.RED);
        //设置画笔字体大小
        mPaint3.setTextSize(30);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //设置画布的颜色
        canvas.drawColor(Color.WHITE);
        //画直线
        canvas.drawLine(10,50,100,50,mPaint1);
        //画点
        canvas.drawPoint(50,100,mPaint1);
        //绘制圆
        canvas.drawCircle(200,200,60,mPaint2);
        //绘制矩形
        canvas.drawRect(50,50,200,100,mPaint2);
        //绘制文字
        canvas.drawText("绘制的文字",20,300,mPaint3);

    }
}

活动代码:

public class Four extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyView(this));
    }

}

 

View 、Canvas、Paint

标签:视图   设置   blog   扩展   ttext   drawrect   size   text   int   

原文地址:http://www.cnblogs.com/shuiyin/p/6561994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!