我正在尝试将内容放在 CupertinoNavigationBar 下方。
但内容小部件被 CupertinoNavigationBar 部分覆盖。
我不明白为什么子 Column 没有垂直偏移,因此顶部没有被 CupertinoNavigationBar 覆盖。
下面是截图,以及我的代码
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class PersonalInfoEditor extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CupertinoPageScaffold(
navigationBar: buildNavigationBar(context),
child: Column(
children: <Widget>[
Text('Personal Info'),
Text('t1'),
],
),
);
}
CupertinoNavigationBar buildNavigationBar(BuildContext context) {
return CupertinoNavigationBar(
trailing: CupertinoButton(
child: Text('Save', style: TextStyle(color: CupertinoColors.activeBlue)),
onPressed: () => Navigator.pop(context),
));
}
}
最佳答案
将您的 child 包裹在 SafeArea
中:
return CupertinoPageScaffold(
navigationBar: buildNavigationBar(context),
child: SafeArea(
child: Column(
children: <Widget>[
Text('Personal Info'),
Text('t1'),
],
),
),
);
别忘了使用 CupertinoApp
而不是 MaterialApp
更多信息:https://api.flutter.dev/flutter/cupertino/CupertinoPageScaffold-class.html
关于flutter - CupertinoPageScaffold 的子小部件位于 CupertinoNavigationBar 后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52472220/
相关文章:
dart - Flutter 突然无法将 apk 安装到真机
dart - 在 Dart 的 Cloud Firestore 中添加文档后如何获取文档 ID
ios - flutter : Not Connecting to IOS Simulator in
android-studio - Flutter 如何在 Android Studio 中制作发布版
dart - Flutter:如何获取 http 请求的上传/下载进度
dart - Flutter 如何将 String 转换为 List