1

当我将 AppBar 添加到我的程序时,它会在 AppBar 下方显示一个空白区域,该空白区域本质上是一个空白行。当我删除 AppBar 时,空间行不存在。空间行非常明显,破坏了应用程序的外观。有没有一种方法可以让 AppBar 没有空间并且不使用我自己的小部件来实现它?

代码:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Flutter Calculator',
        home: Scaffold(
            appBar: AppBar(title: Text("Flutter Calculator")),
            body: (HomeScreen())));
  }
}
4

1 回答 1

1

该问题似乎是由于添加了 SafeArea 而没有将“top:”设置为 false 造成的。希望这是解决方案。不确定为什么默认情况下似乎是 SafeArea 添加填充。我会认为添加一个填充属性会更好,但我会知道什么,我只是在学习 Flutter?

相关代码如下,现在问题似乎已得到纠正。我之前展示了一个最小的 AppBar 来减少代码量来说明问题。现在显示完整的 AppBar。设置 AppBar 的高度似乎是一种复杂的方法,但我会知道什么?然而,作为一个 Flutter 初学者,我花了几个小时才找到我希望的解决方案。然而,要点是在上面的第 1 段。

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
            appBar: PreferredSize(
                preferredSize: Size.fromHeight(35.0),
                child: AppBar(
                    automaticallyImplyLeading: false, // hides leading widget
                    centerTitle: true,
                    title: Text("Flutter Calculator by Brian"))),
            body: (HomeScreen())));
  }
}


class HomeScreen extends StatefulWidget {
  @override
  HomeScreenState createState() => new HomeScreenState();
}


class HomeScreenState extends State<HomeScreen> {`

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: SafeArea(
            top: false,
            bottom: false,
            child: Material(
于 2019-02-25T03:10:32.513 回答