【问题标题】:How to show Flutter AppBar without trailing space如何在没有尾随空格的情况下显示 Flutter AppBar
【发布时间】:2019-07-18 04:26:15
【问题描述】:

当我将 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())));
  }
}

【问题讨论】:

  • 嗨,布赖恩!您能否为HomeScreen 小部件添加一个正在发生的事情和构建方法的打印?
  • @George。我已经发布了我认为是问题的答案。

标签: flutter flutter-appbar


【解决方案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(

【讨论】:

    猜你喜欢
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2012-04-16
    • 2012-06-30
    • 1970-01-01
    相关资源
    最近更新 更多