此小节主要是介绍Paint的一些方法,其实也相当于做一个字典用。
主要有几个常用方法:
-
setAntiAlias 抗锯齿 主要是画圈圈用到 设置为true
-
setDither 设置是否防抖
-
setShadowLayer(float radius, float dx, float dy, int color)
- radius:模糊半径,radius越大越模糊,越小越清晰,但是如果radius设置为0,则阴影消失不见
- dx:阴影的横向偏移距离,正值向右偏移,负值向左偏移
- dy:阴影的纵向偏移距离,正值向下偏移,负值向上偏移
- color: 绘制阴影的画笔颜色,即阴影的颜色(对图片阴影无效)
- 相当于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; }
网友评论