美文网首页
Android自定义-Paint

Android自定义-Paint

作者: 就爱烫卷发 | 来源:发表于2019-06-09 23:53 被阅读0次

           此小节主要是介绍Paint的一些方法,其实也相当于做一个字典用。
    主要有几个常用方法:

    • setAntiAlias 抗锯齿 主要是画圈圈用到 设置为true

    • setDither 设置是否防抖

    • setShadowLayer(float radius, float dx, float dy, int color)

      1. radius:模糊半径,radius越大越模糊,越小越清晰,但是如果radius设置为0,则阴影消失不见
      2. dx:阴影的横向偏移距离,正值向右偏移,负值向左偏移
      3. dy:阴影的纵向偏移距离,正值向下偏移,负值向上偏移
      4. color: 绘制阴影的画笔颜色,即阴影的颜色(对图片阴影无效)
      5. 相当于TextView的android:shadowColor属性
    • setStyle 画笔的样式,STORKE表示线条,FILL表示填充。画圆的时候很容易体验出来。

    • setStrokeWidth 设置了笔的宽度。

    • setStrokeCap( Cap cap); 下面是Cap的定义。表示结尾的时候是否有圆角,还是其他。画SeekBar会有此效果。
      public enum Cap {
      /**
      * The stroke ends with the path, and does not project beyond it.
      /
      BUTT (0),
      /
      *
      * The stroke projects out as a semicircle, with the center at the
      * end of the path.
      /
      ROUND (1),
      /
      *
      * The stroke projects out as a square, with the center at the end
      * of the path.
      */
      SQUARE (2);
      }
      这里方法就以后想起来就往这里添吧。
              其实Paint 还有一些比较重要的东西,比如他可以测量字体大小---piant.measureText(String s),测量宽度,然后测量高度,然后安排自己在自己哪里开始画,也就是基线的求法。
             这里不画图作解,https://www.jianshu.com/p/057ce6b81c52这个写的很详细了。
             直接走结论
             Android获取中线到基线距离的代码,Paint需要设置文字大小textsize。

          public static float getBaseline(Paint p) {
              FontMetrics fontMetrics = p.getFontMetrics();
              return (fontMetrics.descent - fontMetrics.ascent) / 2 -fontMetrics.descent;
        }
      

    相关文章

      网友评论

          本文标题:Android自定义-Paint

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