Как создать нестандартную размытую форму с закругленными углами в Flutter - PullRequest
0 голосов
/ 07 мая 2018

Я хочу нарисовать произвольную фигуру, похожую на отмеченную область на изображении ниже.Есть ли способ обрезать эту пользовательскую фигуру с эффектом размытия, а затем указать радиус для углов?

This marked shaped

1 Ответ

0 голосов
/ 08 мая 2018

это не лучшее решение, которое вы можете найти, но его можно использовать: полный пример

enter image description here

class customclipper extends CustomClipper<Path> {
  @override
  Path getClip(Size size) {
    var path = new Path();
    path.lineTo(0.0, size.height - 20);
    path.quadraticBezierTo(0.0, size.height, 20.0, size.height);
    path.lineTo(size.width - 20.0, size.height);
    path.quadraticBezierTo(size.width, size.height, size.width, size.height - 20);
    path.lineTo(size.width, 50.0);
    path.quadraticBezierTo(size.width, 30.0, size.width - 20.0, 30.0);
    path.lineTo(20.0, 5.0);
    path.quadraticBezierTo(0.0, 0.0, 0.0, 20.0);
    return path;
  }

  @override
  bool shouldReclip(CustomClipper<Path> oldClipper) => false;
}
  1. я создал все закругленные углы, используя quadraticBezierTo
  2. Я создал Контейнер внутри ClipPath
  3. я использовал Colors.white70 для цвета контейнера
...