美文网首页
自定义View-绘制基础

自定义View-绘制基础

作者: _Anonymous_ | 来源:发表于2021-02-05 10:30 被阅读0次

概述

drawXXX() 系列方法和 Paint 的基础掌握了,就能够应付简单的绘制需求。它们主要包括:

  1. itemitemCanvas 类下的所有 draw- 打头的方法,例如 drawCircle() drawBitmap()。
  2. Paint 类的几个最常用的方法。具体是:
  • Paint.setStyle(Style style) 设置绘制模式
  • Paint.setColor(int color) 设置颜色
  • Paint.setStrokeWidth(float width) 设置线条宽度
  • Paint.setTextSize(float textSize) 设置文字大小
  • Paint.setAntiAlias(boolean aa) 设置抗锯齿开关

颜色填充

drawRGB(int r, int g, int b) 和 drawARGB(int a, int r, int g, int b) ,它们和 drawColor(color) 只是使用方式不同,作用都是一样的。
这类颜色填充方法一般用于在绘制之前设置底色,或者在绘制之后为界面设置半透明蒙版。

绘制图形采用的是View坐标系

Alt

抗锯齿从某种角度讲,它也造成了图形的颜色失真。

drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, Paint paint) 绘制弧形或扇形

startAngle 是弧形的起始角度(x 轴的正向,即正右的方向,是 0 度的位置;顺时针为正角度,逆时针为负角度),sweepAngle 是弧形划过的角度;useCenter 表示是否连接到圆心,如果不连接到圆心,就是弧形,如果连接到圆心,就是扇形。

paint.setStyle(Paint.Style.FILL); // 填充模式
canvas.drawArc(200, 100, 800, 500, -110, 100, true, paint); // 绘制扇形
canvas.drawArc(200, 100, 800, 500, 20, 140, false, paint); // 绘制弧形
paint.setStyle(Paint.Style.STROKE); // 画线模式
canvas.drawArc(200, 100, 800, 500, 180, 60, false, paint); // 绘制不封口的弧形

Alt

drawPath(Path path, Paint paint) 画自定义图形

Path 有两类方法,一类是直接描述路径的,另一类是辅助的设置或计算。

Path方法第一类:直接描述路径。

这一类方法还可以细分为两组:添加子图形和画线(直线或者曲线)

第一组:addXxx() ————添加子图形

  1. addCircle(float x,float y,float radius,Direction dir)添加圆,最有一个参数是表示画圆的路径的方向。调用该方法后,使用canvas.drawPath(path,paint)就能画出一个圆

第二组:xxxTo() —————画线(直线或曲线)

  1. lineTo()、rLineTo()画直线,后者使用的是相对坐标
  2. moveTo()、rMoveTo()移动到目标位置
  3. arcTo()画弧形,但是多了一个参数forceMoveTo,代表是否留下移动的痕迹
  4. addArc()也是画弧形的,其实就是直接使用了forceMoveTo = true的简化版arcTo()
  5. close() 封闭当前子图形,即由当前位置向当前子图形的起点绘制一条直线。

Path方法第二类:辅助的设置或计算

使用较少

Path.setFillType(Path.FillType ft)设置填充模式

  • EVEN_ODD(全填充)


    Alt
  • WINDING(默认值)(交叉填充)


    Alt
  • INVERSE_EVEN_ODD
  • INVERSE_WINDING
Alt

drawBitmap()画Bitmap

drawText()绘制文字

相关文章

  • 自定义View-绘制基础

    HenCoder 原文 关键点 自定义绘制方法的重写,其中最常用的是onDraw 绘制的关键是Canvas的使用C...

  • 自定义View-绘制基础

    概述 drawXXX() 系列方法和 Paint 的基础掌握了,就能够应付简单的绘制需求。它们主要包括: item...

  • 自定义view-绘制

    参考: https://hencoder.com/ui-1-1/ 自定义绘制知识的四个级别 1. Canvas ...

  • Hencoder学习笔记1-1

    HenCoder Android 开发进阶: 自定义 View 1-1 绘制基础 视频重点 自定义绘制的方式是重写...

  • 自定义View-基础

    自定义绘制 自定义绘制的方式是重写绘制方法,其中最常用的是 onDraw() 绘制的关键是 Canvas 的使用C...

  • 自定义View-文字的绘制

    Canvas绘制文字的方式 drawText (String text, float x, float y, Pa...

  • 2019-12-23

    自定义view画渐变图形,inflate 自定义view:画渐变图形 参考:自定义View-第十六步:Linear...

  • 是Android的自定义View-绘制流程-绘制

    前言 在performTraversals方法中,执行完layout之后,接下来就要开始进行draw的过程了。 源...

  • 自定义View系列

    自定义绘制知识的四个级别 1、Canvas 的 drawXXX() 系列方法及 Paint 最常见的使用;绘制基础...

  • Android自定义View-圆形图片控件

    个人博客http://www.milovetingting.cn Android自定义View-圆形图片控件 前言...

网友评论

      本文标题:自定义View-绘制基础

      本文链接:https://www.haomeiwen.com/subject/tnywtltx.html