Android自定义View——绘制基础

本文介绍了Android自定义View的绘制基础,包括drawColor()、drawCircle()、drawRect()、drawPoint()、drawOval()、drawLine()、drawRoundRect()、drawArc()和drawPath()等方法的使用,以及如何通过Paint设置颜色、形状和抗锯齿效果。通过实例展示了如何绘制实心圆、空心圆、矩形、点、椭圆、直线、圆角矩形、弧形/扇形和自定义图形。最后,文章通过直方图和饼图的实现巩固了绘制知识。
摘要由CSDN通过智能技术生成

本篇接着上一篇的基础知识来说,今天要学点能看的见的东西了————绘制基础。

一、绘制的简要说明

自定义绘制最主要的点就是重写绘制方法,当我们定义一个类去继承自View这个类时,会让你必须重写几个构造方法和onDraw(Canvas canvas)方法,那我们最常用的绘制方法就是这个onDraw方法,参数需要一个Canvas对象,我们绘制的关键就是通过Canvas提供的各个api去进行绘制、裁剪以及几何变换,这些我会慢慢的进行整理。本篇既然是基础,那么这里就只讲关于绘制的方法,即是drawXXX()方法。先把必须的东西都一下说完,在详细介绍,所以在这里还需要用到一个画笔类:Paint,这个类提供的一些api可以让我们设置画笔的颜色、形状、阴影等等,通过Canvas和Paint的搭配使用之后,我们就可以绘制出各种丰富多彩的图形了。

二、常用api的说明

1、颜色填充

 

@Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //给View上色为粉红色
        canvas.drawColor(getResources().getColor(R.color.pageColor));
    }

 

这里直接调用drawColor()方法,参数填充颜色即可,效果如下:

2、绘制圆形及环形

先看个简单的,绘制一个实心圆,这里我们需要借助Paint对象了哦,首先实例化一个Paint对象,然后调用canvas.drawCircle(圆心横坐标,圆心纵坐标,半径,画笔对象)方法,各个参数的含义已经很明确了,其中Paint.Style.FILL是实心模式,Paint.Style.STROKE是线条即空心模式。对了,需要说明的一点是,这里的坐标系和我们平时在数学中学的两维坐标系不同,android中每个View自己有一个坐标系,原点是View左上角的那个点,水平方向为X轴,向右为正向左为负,竖直方向为Y轴,向下为正向上为负,盗了大神一张图,上图:

除了画实心圆,我们还可以画空心圆,画带有颜色的实心圆,画圆环等等,因为使用也比较简单我就不详细说明了,具体来看一下代码,已经给出了注释:

 

@Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); //开启抗锯齿
        //实心圆
        canvas.drawCircle(100, 300, 50, paint);
        //空心圆
        paint.s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值