答案 0 :(得分:1)
我们可以使用Clippath
插件来实现这种设计。
步骤1:首先创建一个名为 my_clipper.dart 的新dart文件,然后将以下代码粘贴到 my_clipper.dart 文件中:
import 'package:flutter/material.dart';
class MyClipper extends CustomClipper<Path> {
@override
Path getClip(Size size) {
var path = Path();
path.lineTo(0, 220);
path.quadraticBezierTo(
size.width / 4, 160 /*180*/, size.width / 2, 175);
path.quadraticBezierTo(
3 / 4 * size.width, 190, size.width, 130);
path.lineTo(size.width, 0);
path.close();
return path;
}
@override
bool shouldReclip(CustomClipper<Path> oldClipper) {
return false;
}
}
步骤2:现在在您的脚手架或任何其他小部件中,使用MyCLipper
类,如下所示:
home: Scaffold(
backgroundColor: Colors.indigo,
body: Stack(
children: [
ClipPath(
clipper: MyClipper(),
child: Container(
color: Colors.white,
)
)
],
),
)