Draw the text, with origin at (x,y), using the specified paint. The
origin is interpreted based on the Align setting in the paint.
@param text The text to be drawn
@param x
The x-coordinate of the origin of the text being drawn
@param y
The y-coordinate of the baseline of the text being drawn
@param paint The paint used for the text (e.g. color, size, style)
baseline
绘制文字
private void initPaint() { paint.setColor(Color.parseColor("#FF4081")); paint.setTextSize(90f); } /** * 绘制文字 * @param canvas */ @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawText("HelloWorld",100,100,paint); }绘制文字需要设置Paint的属性。
2.6 drawPath() 绘制路径@param path The path to be drawn
@param paint The paint used to draw the path
绘制路径
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Path p = new Path(); p.moveTo(100, 100); p.lineTo(200, 50); p.lineTo(300, 100); p.lineTo(200,400); canvas.drawPath(p,paint); }The Paint class holds the style and color information about how to draw geometries, text and bitmaps.
画笔能够拿到,所要绘制的几何图形、文字或者Bitmap的颜色、风格等信息
画笔有三种构造方法:
public Paint() { this(0); }
Create a new paint with default settings.
创建一个默认属性的画笔
public Paint(int flags) {...}
Create a new paint with the specified flags. Use setFlags() to change these after the paint is created.
@param flags initial flag bits, as if they were passed via setFlags().
创建一个带有标记的画笔。也可以通过setFlags()去为一个已经创建过的画笔设置标签
public Paint(Paint paint) {...}
Create a new paint, initialized with the attributes in the specified paint parameter.
@param paint Existing paint used to initialized the attributes of the new paint.
通过一个已经配置好信息的画笔来创建一个新的画笔
3.1常用属性方法方法 作用
setColor(@ColorInt int color) 设置画笔颜色
setStrokeWidth(float width) 设置画笔粗细
setTextSkewX(float f) 设置倾斜,负右斜,正为左
setARGB(int a,int r,int g,int b) 设置颜色,a为透明度
setTextSize(float textSize) 设置绘制文字大小
setFakeBoldText(boolean fakeBoldText) 是否粗体
setTextAlign(Paint.Align align) 设置文字对齐方式,LEFT,CENTER,RIGHT
setUnderlineText(boolean underlineText) 设置下划线
setStyle(Style style) 设置画笔样式,FILL,STROKE,FILL_AND_STROKE
setTypeface(Typeface typeface) 设置Typeface对象,即字体风格,包括粗体,斜体以及衬线体,非衬线体等
方法 作用
setDither(boolean dither) 设置抖动处理
setAlpha(int a) 设置透明度
setAntiAlias(boolean aa) 是否开启抗锯齿
setFilterBitmap() 是否开启优化Bitmap
setColorFilter(ColorFilter filter) 设置颜色过滤
setMaskFilter(MaskFilter maskfilter) 设置滤镜的效果
setShader(Shader shader) 设置图像渐变效果
setSrokeJoin(Paint.Join join) 设置图像结合方式
setXfermode(Xfermode xfermode) 设置图像重叠效果
setPathEffect(PathEffect effect) 设置路径效果
reset() 恢复默认设置
暂时就是先看看,知道有这么个方法。然而方法还有很多 :)
4.最后这篇了解部分Canvas和Paint部分基础知识。就是调用了方法而已。下篇继续记录学习Paint。
通过这篇的学习,我再去看网络其他的自定义View博客,感觉能大概了解所讲内容了。不再是一头的污水。才刚刚开始呢。:)
嗯,本篇有个小坑,不过也不想修改了,这里说一下,onDraw()方法中,最好不要进行new对象,会有警告。本篇这里只是学习,也并无大碍。之后会注意
共勉。