【问题标题】:Paint shape with flutter customPainter widget使用颤振 customPainter 小部件绘制形状
【发布时间】:2020-05-09 19:53:09
【问题描述】:

我如何用 CustomPainter 画出这样的东西: image

【问题讨论】:

  • 你看过这个教程吗? Video
  • 是的,但我不太了解,要实现我想要的圆形容器

标签: flutter flutter-layout flutter-design


【解决方案1】:

试试这个并根据您的方便调整值

class CurvedBarPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    Paint paint = Paint() 
    ..color = Colors.black;

    Path path = Path();
    path.lineTo(0.0, size.height * .58);
    path.quadraticBezierTo(size.width * .01, size.height * .95 , size.width * .15, size.height);
    path.lineTo(size.width * .85, size.height);
    path.quadraticBezierTo(size.width * .99, size.height * .95 , size.width, size.height * .6);
    path.lineTo(size.width, size.height * .2);
    path.quadraticBezierTo(size.width * .99, size.height * -.02, size.width * .9, 0.0);
    path.lineTo(size.width * .8, 0.0);
    path.quadraticBezierTo(size.width * .7, size.height * .01, size.width * .65, size.height * .3);
    path.quadraticBezierTo(size.width * .5, size.height , size.width * .35, size.height * .3);
    path.quadraticBezierTo(size.width * .3, size.height * .01, size.width * .2, 0.0);
    path.lineTo(size.width * .1, 0.0);
    path.quadraticBezierTo(size.width * .01, size.height * -.02, 0.0, size.height * .2);

    canvas.drawPath(path, paint);


  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) => false;

}

【讨论】:

    猜你喜欢
    • 2019-05-10
    • 2018-09-13
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    相关资源
    最近更新 更多