素材巴巴 > 程序开发 >

android之canvas.draw方法需要注意的地方

程序开发 2023-09-08 06:47:52

如果需要在上图布局中画一个矩形(大小为上图布局一样大),并且线条宽为10dp即20px,需要实现后的效果如下(此篇使用的是1dp=2px的比例,用的时候请根据实际来进行换算):
布局高度int height = 100;  //单位px 布局宽度int width = 200;  //单位px 线条宽度int strokeWidth = 20; //单位px 那么,步骤: 1.画笔: Paint paint = new Paint(); 2.线条宽为10dp即20px,那么设置画笔为描边Stroke: paint.setStrokeWidth(20);  //线条宽20px paint.setStyle(Paint.Style.STROKE);  //设为描边,这样中间就是空的,不会被填充 3.那么开始画矩形,则位置必须是图中黑色线条位置来画,因为线条有宽度,也占了宽度的,所以画的时候位置 必须取线条中间 ,即图中黑色线条画的矩形,所以正确的画矩形应该是: canvas.drawRect(strokeWidth/2,strokeWidth/2,width-strokeWidth/2,height-strokeWidth/2,paint);  //左上右下,画笔

延伸: 1.如果画矩形,如果不描边,即没有 paint.setStrokeWidth(20);和paint.setStyle(Paint.Style.STROKE);,那就直接以红色矩形的左上角为点画即可 2.如果画一个圆环,如下图,也是有描边,那么画圆的时候半径就是布局的一半减去线条宽度的一半
3.如果画线,drawline,如下图所示,若有 paint.setStrokeWidth(20) ,则表示画线的线条粗细为20px,那么画的时候坐标点就是下图红点,即左边界线条的中间点,即(0,10)这个点;


标签:

上一篇: 布局:左侧菜单栏 右侧内容 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。