Android UI 绘图基础
1、 android.view.View类
使用绘图工具,核心方法是在View类中的onDraw(参数)中进行,记得重载。绘图过程需要用到很多android.graphics包下的类,记得import就ok
2、 android.graphics.Canvas类
该类作为onDraw函数的参数,可以说起着控制onDraw函数的作用,他其实相当于MFC中的dc,相当于一个画家,而且这个画家什么都会,他会drawLine,会drawArc,会drawRect,会drawText,会drawBitmap等等。
两个构造函数:空参数和bitmap参数
3、android.graphics.Paint类
相当于MFC中的Paint对象,就是画笔对象,能够对画笔的性质进行设置,以供Canvas使用。
(1)void reset();
重置
(2)void setARGB(int a,intr,int g,int b) 以及setColor(int color)
都是设置画笔颜色
(3)voidsetAntiAlias(boolean aa)
是否扛锯齿,需要配合 voidsetFlags(Paint.ANTI_ALIA_FLAG)来实现消除锯齿
(4)Shader setShader(Shadershader)
设置阴影
(5)voidsetStyle(Paint.Style style)
设置样式,一般为FILL填充或者STROKE凹陷效果
(6)void setTextSize(floattextSize)
设置字体大小
(7)voidsetTextAlign(Paint.Align align)
设置文本对齐方式
(8)TypeFacesetTypeface(Typeface typeface)
设置字体,通过Typeface可以加载Android内部的字体,也可以添加外部的字体。
(9)voidsetUnderLineText(boolean underlineText)
设置下划线,需要配合void setFlags(Paint.UNDERLINE_TEXT_FLAG)方法
3、 android.graphics.Matrix类
Matrix能够实现图形的变化操作,如缩放和旋转的处理。常用方法如下:
(1)voidreset()
重置一个Matrix对象
(2) voidsetRotate(float degress)
指定一个角度一(0,0)为坐标进行旋转
(3)voidsetRotate(float degress,float px ,float py)
指定一个角度以(px,py)为坐标进行旋转
类似的还有:
setScale() 缩放
postScale()缩放
setTranslate() 平移
setSkew() 倾斜
4、 android.graphics.Bitmap类
下面先介绍一种从drawable文件夹中加载位图的方法:
Bitmap bitmap = BitmapFactory.decodeResource(getResource(),R.drawable.f);
这样便可以先从资源文件夹中取得该位图,再对该位图进行操作