flutter - 我想做一个这样的自定义形状
问题描述
我正在尝试制作这样的盒子。如果我按下“产品”按钮,那么我需要显示一个这样的框。但我做不到。我尝试了剪贴路径和自定义绘画。我可以使用可见性小部件来显示和隐藏——这不是问题。问题是我需要显示一个类似于我在此处添加的图片的框。
解决方案
你可以用CustomPainter
. 这是一个例子:
class LinePainter extends CustomPainter {
final double progress;
LinePainter({this.progress});
Paint _paint = Paint()
..color = Colors.black
..strokeWidth = 4.0
..style = PaintingStyle.stroke
..strokeJoin = StrokeJoin.round;
@override
void paint(Canvas canvas, Size size) {
var path = Path();
path.moveTo(0, size.height / 2);
path.lineTo(size.width * progress, size.height / 2);
canvas.drawPath(path, _paint);
}
@override
bool shouldRepaint(LinePainter oldDelegate) {
return oldDelegate.progress != progress;
}
}
有关更多信息,您可以查看此页面。
推荐阅读
- vba - 检查值是否存在于集合或数组中,如果不存在,则添加
- javascript - 我应该在哪个目录中保存 MERN Stack 的上传文件?
- reactjs - 在 React Native 上更改按钮字体大小
- node.js - Firebase Authenticated HTTP Endpoints - Cloud Functions,它们安全吗?
- scala - 如何使用 GeoSpark 对 spatialRDD 进行空间分区?
- spring - Spring Boot Controller IT 测试未找到类路径资源
- android - 为 Flutter 项目添加 Android 运行/调试配置
- text-to-speech - 关于如何保存 runAndWait() 产生的声音的任何想法?
- python - 如何为 2.7 和 3.x 打包 python 模块?
- c# - c# 使用 wmi 连接到远程需要 /etc/hosts