Android中的ShapeDrawable的一个注意点

来源:互联网 发布:最好的门户网站 知乎 编辑:程序博客网 时间:2024/05/18 03:08

ShapeDrawable大家肯定都知道的啦,这边不说这个ShapeDrawable怎么用哈,就只说明一点——ShapeDrawable中的setBounds和Path设定的参数之间的关系~

大家先看一下下面的一小段代码哈~

ShapeDrawable mShapeDrawable = null;Path path1 = new Path();/* 设置多边形的点 */path1.moveTo(0 + 5, 80 + 80 - 50);path1.lineTo(150 + 45, 80 + 80 - 50);path1.lineTo(150 + 30, 80 + 120 - 50);path1.lineTo(150 + 20, 80 + 120 - 50);/* 使这些点构成封闭的多边形 */path1.close();// PathShape后面两个参数分别是宽度和高度mShapeDrawable = new ShapeDrawable(new PathShape(path1, 150, 150));// 得到画笔paint对象并设置其颜色mShapeDrawable.getPaint().setColor(Color.BLUE);/* 设置图像显示的区域 */mShapeDrawable.setBounds(100, 170, 200, 280);/* 绘制图像 */mShapeDrawable.draw(canvas);

这里绘制了一个四边形,但是,要注意的是,在用path设定绘制图形的点的时候,那个数值并不是真正显示的坐标位置,而是相对于下面setBounds的显示区域的位置(也就是path的真实坐标是以setBounds为基准的)~

原创粉丝点击