美文网首页
Android绘图机制与处理技巧

Android绘图机制与处理技巧

作者: 小二的学习日记 | 来源:发表于2018-07-10 18:08 被阅读0次

    本文是《Android群英传》的读书笔记

    屏幕的尺寸信息

    屏幕参数

    屏幕大小:指屏幕对角线的长度,通常使用“寸”来度量。

    分辨率:分辨率是指手机屏幕的像素点个数。

    PPI:每英寸像素(Pixels Per Inch)又被称为DPI(Dots Per Inch)。它是由对角线的像素点数除以屏幕的大小得到的。

    系统屏幕密度

    系统屏幕密度

    独立像素密度dp

    Android系统使用mdpi即密度值为160的屏幕作为标准,在这个屏幕上1px=1dp。

    换算:ldpi:mdpi:hdpi:xhdpi:xxhpi=3:4:6:8:12

    单位转换

    过几天再写

    2D绘图基础

    drawPoint(点)、drawLine(线)、drawRect(矩形)、drawVertices(多边形)、drawArc(弧)、drawCircle(圆)

    setAnitAlias();//设置画笔的抗锯齿效果

    setColor();//设置画笔的颜色

    setARGB();//设置画笔的A、R、G、B值

    setAlpha();//设置画笔的Alpha();//设置画笔的Alpha值

    setTextSize();//设置字体的尺寸

    setStyle();//设置画笔的风格(空心或实心)

    setStrokeWidth();//设置空心边框的宽度

    Android XML绘图

    Bitmap

    Shape

    Layer

    代码 效果

    Selector

    Android绘图技巧

    canvas

    Canvas.save()

    Canvas.restore()

    Canvas.translate()

    Canvas.rotate()

    新建类,继承View,重写onDraw()方法

    1.画圆

    以屏幕中心为中心

    2.画刻度指针

    每15°画一条小竖线

    3.画表针

    以屏幕中心为中心,画表针 效果

    SurfaceView

    如果你的自定义View需要频繁刷新,或者刷新时数据处理量比较大,那么你就可以考虑使用SurfaceView来取代View了。

    模板代码:

    1.新建一个继承自SurfaceView的类,重写三个构造方法。

    2.创建

    3.初始化

    4.在SurfaceView的三个回调方法中:

    5.在SurfaceCreated()的子线程中:

    6.子线程中的draw()方法:

    SurfaceView实例

    正弦曲线:

    1.写出模板。

    2.声明绘制正弦曲线要用到的东西:

    3.在init()方法中初始化他们:

    4.在子线程中计算正弦曲线坐标:

    5.绘图:

    效果:

    数位板

    1.写出模板。

    2.声明绘制正弦曲线要用到的东西:

    3.在init()方法中初始化他们:

    4.重写onTouchEvent()方法,得到触摸路径:

    5.在子线程中可以进行一些优化:

    但有时候绘制也不用这么频繁。因此我们可以在子线程中,进行sleep操作,尽可能地节省系统资源。

    6.绘图:

    效果:

    相关文章

      网友评论

          本文标题:Android绘图机制与处理技巧

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