当前位置: 代码迷 >> Android >> ShapeDrawable画多角形时,Path和PathShape的配置
  详细解决方案

ShapeDrawable画多角形时,Path和PathShape的配置

热度:27   发布时间:2016-04-28 08:09:57.0
ShapeDrawable画多边形时,Path和PathShape的配置

            Path path = new Path();
            path.moveTo(50, 0);
            path.lineTo(0, 50);
            path.lineTo(50, 100);
            path.lineTo(100, 50);
            //封闭前面点所绘制的路径
            path.close();

ShapeDrawable mDrawables = new ShapeDrawable(new PathShape(path, 100, 100));

请问这个path对象的4个顶点的坐标应该是个正方形,为什么画出来效果是个菱形。PathShape构造器中后2个参数,是如何起作用的,有时是100,有时是150,不知道如何计算。多边形的造型是否和setBounds(int left, int top, int right, int bottom)
方法有关,请高手解答,谢谢

------解决方案--------------------
学习了 是我想简单了 以梯形为例
PathShape(path1,150,150)
mShapeDrawable.setBounds(100, 170, 200, 280);

x=100+(200-100)/150*(150+5)
y=170+(280-170)150*(80+80-50)
setBounds内的偏移是绝对的 画布上的坐标要乘以放大系数才行
  相关解决方案