如何在不拖尾的情况下显示Flutter AppBar

时间:2019-02-24 17:57:02

标签: flutter flutter-appbar

当我在程序中添加一个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())));
  }
}

1 个答案:

答案 0 :(得分:0)

该问题似乎是由于添加了SafeArea而没有将“ top:”设置为false引起的。希望这是解决方案。不知道为什么默认显示为SafeArea添加填充的原因。我本以为最好添加一个padding属性,但是我会知道,我只是在学习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(