View自定义绘制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxl517116279/article/details/80537525

1.Paint方法介绍

1.1 Paint.setStyle(Style style) 设置绘制模式

    Style 具体来说有三种: FILL, STROKE 和  FILL_AND_STROKE 。FILL 是填充模式,STROKE 是画线模式(即勾边模式),FILL_AND_STROKE 是两种模式一并使用:既画线又填充。它的默认值是 FILL,填充模式。

1.2 Paint.setColor(int color) 设置颜色

1.3 Paint.setStrokeWidth(float width) 设置线条宽度

在 STROKE 和 FILL_AND_STROKE 下,还可以使用 paint.setStrokeWidth(float width) 来设置线条的宽度:

1.4 Paint.setTextSize(float textSize) 设置文字大小
1.5 Paint.setAntiAlias(boolean aa) 设置抗锯齿开关

1.6 Paint.setStrokeCap(Cap cap)

设置画线的结尾处的形状,有三个选择BUTT、SQUARE、ROUND,BUTT:不在结尾处添加任何一笔,SQUARE:在结尾处加一个方形,ROUND:在结尾处追加一个半圆

1.7 Paint.setStrokeJoin(Join join)

设置结合处的形状,有三个选择:BEVEL、MITER、ROUND,分别表示直线、直角、圆角


2.Canvas方法介绍

2.1  颜色填充

      drawColor(Color.RED);     在整个绘制区域统一涂上指定的颜色。

      drawColor(Color.parse("#88880000")  会在原有的绘制效果上加一层半透明的红色遮罩

      drawRGB(int r, int g, int b)

      drawARGB(int a, int r, int g, int b)

2.2 画圆

     drawCircle(float centerX, float centerY, float radius, Paint paint)

     前两个参数 centerX centerY 是圆心的坐标,第三个参数 radius 是圆的半径,单位都是像素,

2.3 画矩形

   drawRect(float left, float top, float right, float bottom, Paint paint) 

    left, top, right, bottom 是矩形四条边的坐标。

    drawRect(RectF rect, Paint paint)

    drawRect(Rect rect, Paint paint)

2.4 画点

      drawPoint(float x, float y, Paint paint)

    x 和 y 是点的坐标。点的大小可以通过 paint.setStrokeWidth(width) 来设置;点的形状可以通过  paint.setStrokeCap(cap) 来设置:ROUND 画出来是圆形的点,SQUARE 或 BUTT 画出来是方形的点。

      drawPoints(float[] pts, int offset, int count, Paint paint) 

      drawPoints(float[] pts, Paint paint)

     同样是画点,它和 drawPoint() 的区别是可以画多个点。pts 这个数组是点的坐标,每两个成一对;offset 表示跳过数组的前几个数再开始记坐标;count 表示一共要绘制几个点。

2.5 画椭圆

    drawOval(float left, float top, float right, float bottom, Paint paint)

    left, top, right, bottom 是这个椭圆的左、上、右、下四个边界点的坐标。

    drawOval(RectF rect, Paint paint)

2.6  画线

    drawLine(float startX, float startY, float stopX, float stopY, Paint paint)

    startX, startY, stopX, stopY 分别是线的起点和终点坐标。

    drawLines(float[] pts, int offset, int count, Paint paint) 

    drawLines(float[] pts, Paint paint) 

2.7 画圆角矩形

    drawRoundRect(float left, float top, float right, float bottom, float rx, float ry, Paint paint)

    left, top, right, bottom 是四条边的坐标,rx 和 ry 是圆角的横向半径和纵向半径。

2.8 绘制弧形或扇形

    drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, Paint paint)

    drawArc() 是使用一个椭圆来描述弧形的。left, top, right, bottom 描述的是这个弧形所在的椭圆;startAngle 是弧形的起始角度(x 轴的正向,即正右的方向,是 0 度的位置;顺时针为正角度,逆时针为负角度),sweepAngle 是弧形划过的角度;useCenter 表示是否连接到圆心,如果不连接到圆心,就是弧形,如果连接到圆心,就是扇形。

练习demo

    

猜你喜欢

转载自blog.csdn.net/hxl517116279/article/details/80537525