canvas教程

Android 自定义View学习(二)(3)

字号+ 作者:H5之家 来源:H5之家 2017-03-21 11:02 我要评论( )

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 xThe x-coordinate of the ori

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() 绘制路径
  • 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); }
  • moveTo()就是绘制的起始点,默认为(0,9)
  • lineTo() 连接的点
  • 3.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对象,会有警告。本篇这里只是学习,也并无大碍。之后会注意

    共勉。

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • Android给图片添加水印的三步方法

      Android给图片添加水印的三步方法

      2017-03-18 13:00

    • Android模仿支付宝支付密码输入框效果

      Android模仿支付宝支付密码输入框效果

      2017-03-18 12:01

    • Android实现九宫格图案解锁功能

      Android实现九宫格图案解锁功能

      2017-03-17 16:01

    • Android SDK 百度网盘下载地址链接

      Android SDK 百度网盘下载地址链接

      2017-03-13 09:07

    网友点评
    r