Android自定义-Paint

       此小节主要是介绍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)