View使用教程

码个蛋(codeegg)第 745 次推文

作者: 灯不利多

原文:
   https://juejin.im/post/5d61514df265da03d60f0ab6

本文主要讲Android绘图基础哈~

这次的包含内容如下。

  • 画笔用法

  • 画布用法

  • 颜色构造

1. 画笔用法

我们这一节来看一下画笔的用法。

本节包含内容如下。

  • 设置画笔颜色

  • 设置画笔样式

  • 设置画笔宽度

  • 设置画笔锯齿

1.1 设置画笔颜色

Paint 的 setColor(int color) 方法可用于设置画笔颜色,下面是 color 参数的取值。

一种颜色是由红绿蓝三色合成的,所以 color 只能取 8 位 0xAARRGGBB 样式颜色值。

  • 透明度

    A 表示透明度 Alpha,取值范围是 0~255,值越小,图像越透明

  • 红色

    R 表示红色 Red,取值范围是 0~255,取值越小红色越少

  • 绿色

    G 表示绿色 Green,取值范围是 0~255,取值越小绿色越少

  • 蓝色

    B 表示蓝色 Blue,取值范围是 0~255,取值越小蓝色越少

除了手动组合颜色,系统还提供了一个用于解析颜色的类 Color,关于 Color 在后面会有更详细的介绍。

1.2 设置画笔样式

Paint 的 setStyle(Style style) 方法可用于设置画笔样式,下面是 style 参数的取值。

  • 描边

    • STROKE

  • 填充

    默认样式。

    • FILL

  • 描边且填充

    描边与填充叠加在一起显示的效果,也就是这个值比填充多了一个描边的宽度。

    • FILL_AND_STROKE

1.3 设置画笔宽度

Paint 的 setStrokeWidth(width) 方法用于设置描边宽度,单位是 px。

  • 注意事项

    当画笔的 Style 是 STROKE 或 FILL_AND_STROKE 时画笔宽度才有意义。

1.4 设置画笔锯齿

画笔 Paint 绘制图形时默认不是抗锯齿的,也就是边边会有锯齿。

Paint 提供了 setAntiAlias 方法,这个方法可以开启画笔的抗锯齿功能。

下面是两个放大后的圆,右边的圆用的是抗锯齿的画笔绘制的。

2 画布用法

上一节演示画笔的同时也演示了画布绘制圆的方法,这一节我们来看一下画布的其他方法。

本节内容如下。

  • 设置背景

  • 绘制直线

  • 绘制点

  • 矩形结构

  • 绘制矩形

  • 圆角矩形

2.1 设置背景

Canvas 提供了三个设置背景的方法。

  • drawColor(int color)

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

  • drawRGB(int r, int g, int b)

需要注意的是,设置画布背景要在其他图形绘制前设置,否则设置好的背景色会覆盖原有的图形。

2.2 绘制直线

Canvas 的 drawLine 方法可以绘制直线,直线的粗细取决于 Paint 的 setStrokeWith(width) 中传入的宽度。

绘制直线需要注意的是,只有当 Style 是 STROKE、FILL_AND_STROKE 时绘制才有效。

  • drawLine(float startX, float starY, float stopX, float stopY, Paint paint)

2.3 绘制点

Canvas 的 drawPoint 方法可以用于绘制点,点的大小取决于 setStrokeWith(width) 中传入的宽度。

  • drawPoint(float x, float y, Paint paint)

2.4 矩形结构

矩形结构在绘制矩形区域的时候需要用到。

Android 提供了 Rect 和 RectF 类用于存储矩形数据结构,下面是 Rect 和 RectF 的构造函数。

Rect 和 RectF 在于存储的数据类型不同。

  • Rect

    用于保存 int 类型数值的矩形结构

  • RectF

    用于保存 float 类型数值的矩形结构

2.5 绘制矩形

Canvas 的 drawPoint 和 drawRect 方法都可用于绘制矩形。

下面是这两个方法的区别。

  • 形状

    • drawPoint

      只能指定矩形中心的坐标,只能画出正方形。

    • drawRect

      需要指定矩形左上和右下两个点的位置,可以是长方形。

  • 样式

    • drawPoint

      只能是填充样式。

    • drawRect

      可以自己选择样式,可以是描边也可以是填充。

下面是 Canvas 中提供用于绘制矩形的三个方法。

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

  • drawRect(RectF rect, Paint paint)

  • drawRect(Rect r, Paint paint)

2.6 圆角矩形

Canvas 中提供了一个 drawRoundRect 方法用于绘制圆角矩形,圆角矩形的四个角是椭圆的一角,下面是它的基本用法。

3 颜色构造

Color 类是 Android 中与颜色有关的类。

本节内容如下。

  • 颜色常量

  • 构造颜色

3.1 颜色常量

Color 中定义了下面的颜色常量值。

3.2 构造颜色

除了颜色常量外,Color 还提供了一些构造颜色的方法。

alpha << 就是进 24 位,当我们调用 Color.argb(255, 0, 0,0 0) 时,转换后的 16 进制颜色值就是 0xFF000000。

日问题:

你画得怎样?

(0)

相关推荐

  • 分形高光图制作神器Apophysis7x 15使用教程

    好多朋友在CG的时候喜欢用高光图做滤色层增加效果。 高光图自己做太麻烦,网上的高光图虽然丰富,但是用多了也会觉得单调。有没有快速找到高光图随便自己挑的好方法呢。.现在我就给大家介绍一款可以快速制作高光 ...

  • SecureCRT 详细使用图文教程(按步骤)

    SecureCRT技巧总结 目录 SecureCRT技巧总结... 1 一、安装和激活... 1 二、一些按钮的中文翻译... 4 三、创建一个普通的Session. 5 四、美化终端窗口和字体。.. ...

  • LiteSpeed添加虚拟主机+支持htaccess图文教程

    上次给大家简单介绍了Debian下手动安装LiteSpeed+MySQL+PHP的教程(点击查看),但是这个教程还没完,想要使用litespeed还要进入后台进行设置,包括添加虚拟主机和.htacce ...

  • Sublime Text 2 官方安装版绿化与汉化图文教程

    SublimeText2是开发者的神器,对于一个小编,当然也在很多时候用得上此等神器。但是Sublime Text作为国外的开发工具,我们也可以自己进行汉化和绿化。 SublimeText2 支持但不 ...

  • Android apk反编译基础(apktoos)图文教程

    很久有写过一个广工图书馆主页一个类爬虫的demo(因为没接口,只能扒取静态网页),实现一些图书馆系统的一些功能。但最近发现图书馆系统在html页面上做了手脚,一页html页面中嵌入了几千行的注释,并有 ...

  • BIOS设置图解教程 图文

    BIOS(basic input output system 即基本输入输出系统)设置程序是被固化到计算机主板上的ROM芯片中的一组程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。BI ...

  • Windows3.2下载地址以及Windows 3.2安装图文教程

    Windows 3.2是继微软在1992年年中推出Windows 3.1的一个中文版本,这个版本开始可以播放音频、视频,Windows 3.2 启动界面甚至有了屏幕保护程序。 1994年,Window ...

  • Vmware Fusion 5 安装图文教程

    Vmware Fusion 5 下载安装教程(mac 虚拟机装 win7) VMware Fusion是一款非常实用的系统工具,实现了Windows 和 Mac OS X平台的完美结合,由内而外的精致 ...

  • AE CS selective color correct调色教程

    这个教程和的朋友们用AE CS selective color correct滤镜调色,教程比较简单,希望学习影视后期的朋友喜欢这篇教程。首先下载AE CS selective color corre ...