SurfaceView学习笔记->Drawing基本形状

2016-03-25  本文已影响306人  大飛機

Drawing

Canvas有很多的Drawing方法,每个怎么使用呢,我们先看一个简单的

canvas.drawRect(100, 100, 200, 200, paint);

其参数分别是:

drawRect效

通过真机测试效果确实如设想的那样。

那么,怎么绘制一个空心的矩形呢?Canvas的所有方法里没有找到可以绘制空心矩形的方法,怎么办呢?答案就在drawRect的最后一个参数Paint中。
Paint有一个方法叫setStyle(Paint.Style),传入的类型有3种

paint.setStyle(Paint.Style.STROKE);

其中FILL_AND_STROKE在绘制矩形是和FILL效果是一样的,它和FILL的差异后面在讲。

那么,如果我想要自定义线条的宽度怎么设置呢?

paint.setStrokeWidth(10);

如果想将线条改为虚线怎么设置呢?

paint.setPathEffect()

传入的参数有:

其中DashPathEffect就可以我们想要的虚线效果

drawRect虚线

如果需要使用到虚线的圆角,则需要使用ComposePathEffect将DashPathEffect和CornerPathEffect组合使用

paint.setPathEffect(new ComposePathEffect(new DashPathEffect(new float[]{8, 8}, 0), new CornerPathEffect(50)));
drawRect圆角

真正需要用到使用圆角矩形,可以直接使用drawRoundRect

然后我们再看一个基本几何形状,Circle

canvas.drawCircle(100,100,50,paint);

执行上一段代码,显示效果是这样的:

Circle基本形状

如果想要空心,同样也是设置Paint的setStyle()方法,用法和Rectangle一样。

上一篇 下一篇

猜你喜欢

热点阅读