Android 自定义控件之2D绘图初步

Android 自定义控件之2D绘图初步

绘图的目的

在自定义控件中,想要绘制出我们想要的图形或者效果,有时单靠图片的形式不一定能达到想要的动态效果,那么就必须重写onDraw函数,onDraw函数包含一个Canvas参数,我们可以使用Paint在Canvas中进行绘制,以绘制我们所需要的图形,可以把它想象成画图软件(如PS中的画笔和画布),这样会很好理解,咱们今天就一起简单学习下2D绘图的基础知识

Paint类

简单看下Paint类,咱们可以把它理解为一个画笔,常用的方法有:

  • setStyle(Style style) 设置画笔样式(填充、描边、填充和描边)

  • setStrokeWidth(float width) 设置画笔宽度(或粗细更好理解)

  • setColor(@ColorInt int color) 设置画笔颜色

  • setTextAlign(Align align) 设置画笔文字的对齐方式,绘制文字的时候设置(左、中、右)

  • setTextSize(float textSize) 设置画笔文字的大小(字号)

  • setFakeBoldText(boolean fakeBoldText) 设置画笔文字是否为粗体

更多的就不描述了,大家可以自行研究下

Canvas类

我们的画笔已经准备就绪了,那么我们要开始画了,再看下Canvas类,常用的方法有:

  1. 画点,参数为xy坐标,画笔

    drawPoint(float x, float y, @NonNull Paint paint)

  2. 画线,参数为起始xy和结束xy坐标,画笔,两点共线嘛

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

  3. 画矩形,参数为左上右下,分别代表与画布最(左/上/右/下)边的距离,画笔,可以动手在纸上画下,真的能画出一个矩形哦

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

  4. 画弧线,参数为弧所在的矩形(其实就是左上右下),起始角度,画多少度(而不是画到多少度),是否显示起始和终点的连线,画笔

    drawArc(@NonNull RectF oval, float startAngle, float sweepAngle, boolean useCenter, @NonNull Paint paint)

  5. 画圆,参数为圆心坐标点,半径,画笔,很好理解吧

    drawCircle(float cx, float cy, float radius, @NonNull Paint paint)

  6. 画文字,参数为文本字符串,绘制的坐标

    drawText(@NonNull String text, float x, float y, @NonNull Paint paint)

以上便是Canvas类常用便于理解的画图方法,当然这些方法有一些重载和拓展的,其中的参数没那么好理解,大家可以自行研究下

2D绘图这部分基础就先学习到这里吧

如有描述不当、错误请指正,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值