flutter - 在应用程序栏上颤动剪辑路径
问题描述
嗨,我的剪辑路径有问题,我正在尝试像插入的图像链接 [https://imgur.com/qDspPgV] 中那样做一个剪辑路径。但是,我意识到我实际上不能在颤动中做到这一点,因为 appbar 挡住了路,所以它给了我一个空白空间。
有没有办法可以重叠它?
这是我的代码
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() {
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(statusBarColor: Colors.transparent));
runApp(LoginUI());
}
class LoginUI extends StatefulWidget {
@override
_LoginUIState createState() => _LoginUIState();
}
class _LoginUIState extends State<LoginUI> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Login"),
),
body: SafeArea(child: Builder(builder: (BuildContext context) {
return Container(
color: Colors.white,
child: ClipPath(
clipper: MyClipper(),
child: Container(
color: Colors.red,
)));
})),
));
}
}
class MyClipper extends CustomClipper<Path> {
@override
Path getClip(Size size) {
Path path = new Path();
path.lineTo(0, size.height * .5);
path.lineTo(size.width, 0);
return path;
}
@override
bool shouldReclip(CustomClipper<Path> oldClipper) {
return true;
}
}
这是我的设计输出,因为 appbar [https://imgur.com/UaKFvBO] 设计上的剪辑路径是占位符。在我真正设法重叠应用栏之前,我还没有决定更改它。
编辑:没有应用程序栏的建议 [https://imgur.com/93O1kX7],它没有在状态栏上彻底。
编辑:感谢 Albert [ https://imgur.com/5QsztCr ]。
解决方案
您可以通过省略appBar
Scaffold
参数并将此剪辑容器传递Column
到您Scaffold
的body
.
还要记住SafeArea
从状态栏出来的填充物等等。
推荐阅读
- c# - 在 HoloLens 1 上,使用默认构造函数创建 TcpClient 对象时会抛出“ArgumentException:值不在预期范围内”
- r - 用指标分隔列的R函数是什么
- swift - 如何在 Swift 中将 UITableViewCell 原型的内容移动到它自己的类中?
- javascript - javascript 遍历集合并填充一组值
- jquery - 如何使 jqgrid 仅在我们搜索时有效(显示数据)?
- angular - Angular 中的 ngModel 错误问题。输入属性绑定问题
- dart - await 关键字不在飞镖中等待
- javascript - 从 JSON 文件解析数组
- .net - 在另一个 Web 服务中调用 Web 服务
- ios - FirebaseCrashlytics 不会为 iOS 模拟器编译