2019独角兽企业重金招聘Python工程师标准>>> hot3.png

学习自定义view,就是将view绘成自己想要的样子,自然就要有绘画的工具,那就是Paint。

  • **1. 构造函数 ** Paint() Create a new paint with default settings. 创建一个默认的Paint对象 Paint(int flags) Create a new paint with the specified flags. 创建一个指定flag的Paint对象 Paint(Paint paint) Create a new paint, initialized with the attributes in the specified paint parameter 创建一个paint,并在指定的paint参数中初始化属性
  • 2.flags

ANTI_ALIAS_FLAG //消除锯齿

DITHER_FLAG //防抖动

EMBEDDED_BITMAP_TEXT_FLAG //点阵字体

FAKE_BOLD_TEXT_FLAG //粗体属性

FILTER_BITMAP_FLAG //图像过滤

HINTING_OFF //关闭字体提示

HINTING_ON //使用字体提示

LINEAR_TEXT_FLAG //文本线性缩放

STRIKE_THRU_TEXT_FLAG //文本删除线

SUBPIXEL_TEXT_FLAG //文本亚像素

UNDERLINE_TEXT_FLAG //文本下划

使用方法: new Paint(Paint.flag)或者调用setFlag(int flag)

  • 3.Paint 涉及的几个类(Nested classes)

enum Paint.Align

Align specifies how drawText aligns its text relative to the [x,y] coordinates. 枚举 文本方向:CENTER、LEFT(默认)、RIGHT enum Paint.Cap The Cap specifies the treatment for the beginning and ending of stroked lines and paths. 枚举 笔刷样式: BUTT(默认) 、ROUND、 SQUARE 如图:输入图片说明

**class Paint.FontMetrics **

Class that describes the various metrics for a font at a given text size. 描述了各种指标在给定的文本字体的大小

  1. 基准点是baseline

  2. Ascent是baseline之上至字符最高处的距离

  3. Descent是baseline之下至字符最低处的距离

  4. Leading文档说的很含糊,其实是上一行字符的descent到下一行的ascent之间的距离

  5. Top指的是指的是最高字符到baseline的值,即ascent的最大值

  6. 同上,bottom指的是最下字符到baseline的值,即descent的最大值 为了方便理解,从网上找个各种图片 输入图片说明

![输入图片说明]

输入图片说明

输入图片说明

输入图片说明

![输入图片说明]

输入图片说明

**class Paint.FontMetricsInt **

输入图片说明

一句话 FontMetricsInt就是为调用者提供将FontMetricsInt 值作为整数的便捷方法

**enum Paint.Join **

The Join specifies the treatment where lines and curve segments join on a stroked path. 枚举 连接类型:BEVEL、MITER(默认)、ROUND ![![![![![输入图片说明

**enum Paint.Style ** The Style specifies if the primitive being drawn is filled, stroked, or both (in the same color). 枚举 画笔类型:FILL(默认)、FILL_AND_STROKE、STROKE 输入图片说明

从图上看 前两个并没有什么区别,画图时FILL与STROKE一起使用会达到一下效果

输入图片说明

参考链接:http://mikewang.blog.51cto.com/3826268/871765

转载于:https://my.oschina.net/u/2483853/blog/842068

Android自定义View之paint(一)相关推荐

  1. Android自定义View之Paint绘制文字和线

    Android自定义View系列 Android自定义View注意事项 Android自定义View之图像的色彩处理 Android自定义View之Canvas Android自定义View之轻松实现 ...

  2. android 自定义paint,Android自定义View中Paint、Rect、Canvas介绍(一)

    自定义View对于新手而言貌似是一个很复杂的东西.格式,各函数的意义.对于大神经常忘记各函数及一些参数的具体写法及意义,刚好在做一个风车效果,把过程及遇到的问题都写下来 1.如何自定义一个View p ...

  3. Android 自定义View 通过Paint和Canvas实现动态打勾对号效果

    效果图 一开始是使用的最下面一种,发现canvas绘制线,一个点一个点绘制会非常的慢,于是改进成第一个,另外把对号单独提取出来了. 设计稿 分为一个圆和两条线,中间小的方框的边长就是代码中的hookS ...

  4. Android自定义View基础--Paint画笔设置颜色过滤器

    Android–Paint画笔设置颜色过滤器 光照效果 /** LightingColorFilter(0xffffff,0x003000);* 第一个参数是去除照片中的某个颜色* 第二个参数是增加颜 ...

  5. Android自定义View注意事项

    Android自定义View系列 Android自定义View之Paint绘制文字和线 Android自定义View之图像的色彩处理 Android自定义View之Canvas Android自定义V ...

  6. Android自定义View —— TypedArray

    在上一篇中Android 自定义View Canvas -- Bitmap写到了TypedArray 这个属性 下面也简单的说一下TypedArray的使用 TypedArray 的作用: 用于从该结 ...

  7. Android 自定义View —— Canvas

    上一篇在android 自定义view Paint 里面 说了几种常见的Point 属性 绘制图形的时候下面总有一个canvas ,Canvas 是是画布 上面可以绘制点,线,正方形,圆,等等,需要和 ...

  8. android 自定义图形,Android自定义View之图形图像(模仿360的刷新球自定

    概述: 360安全卫士的那个刷新球(姑且叫它刷新球,因为真的不知道叫什么好,不是dota里的刷新球!!),里面像住了水一样,生动可爱,看似简单,写起来不太简单,本例程只是实现了它的部分功能而已,说实话 ...

  9. android代码实现手机加速功能,Android自定义View实现内存清理加速球效果

    Android自定义View实现内存清理加速球效果 发布时间:2020-09-21 22:21:57 来源:脚本之家 阅读:105 作者:程序员的自我反思 前言 用过猎豹清理大师或者相类似的安全软件, ...

最新文章

  1. linux共享库 == windows动态库
  2. Hibernate事务管理-HibernateTransactionManager-对hibernate session的管理
  3. AC日记——凌乱的yyy 洛谷 P1803
  4. linux libvpx编译安装,linux编译安装时常见错误解决办法
  5. unreal无损音乐百度云_将网易云音乐专用的无损音乐格式转换成全平台通用的无损格式...
  6. 【Ynoi2011】成都七中【树论】【点分树】【离线】【树状数组】
  7. img标签设置display:block,宽度无法100%
  8. 框架升级后某个类型所在程序集发生转移,应用还能正常运行吗?
  9. 个人电脑 公司电脑 代理_你们想要打造的树莓派电脑,刚发布了官方版:性能更强大,只卖70美元...
  10. Bailian2804 词典【map+字典树】
  11. 分享提高php编程效率的方法
  12. Edsger W. Dijkstra -- 巨人的肩膀
  13. 现在90,00后经常上哪些网站?喜欢看啥网站?
  14. Qt获取当前控件所在窗口的位置(坐标)
  15. 查看已删除好友聊天记录
  16. 万能页面加载loading
  17. 暴力更改hex文件实现自动烧写stm32程序
  18. 异常全家桶来咯,异常捕获,异常抛出,自定义异常
  19. 操作系统精选习题——第二章
  20. CMap How-to

热门文章

  1. 让网站和APP更具动感的几点建议
  2. ExcelVB脚本小记(1)
  3. Openning Day
  4. 风力涡轮机巨头维斯塔斯遭网络攻击
  5. 微软 Edge bug 导致黑客窃取用户在任意站点的机密信息,颁发2万美元奖金
  6. 我是如何从零基础自学到找到工作经过
  7. php加速缓存器opcache,apc,xcache,eAccelerator
  8. Leetcode题目:House Robber
  9. java基础知识回顾之---java String final类普通方法的应用之“按照字节截取字符串”...
  10. JFinal 调用 oracle 存储过程的 步骤