如果appbar为null,则ListView.builder显示可用空间

时间:2019-12-19 04:57:37

标签: flutter flutter-layout

如果应用栏为null,则我的应用显示列表视图生成器为空白,如果添加应用栏,则为无空间。
为什么在这里显示空间?以及如何解决这个问题?

我尝试将边距设置为-MediaQuery.of(context).padding.toptop的填充高度,但这也会导致错误应用无法正常工作。如何设置边距的 - 值,我是通过添加-MediaQuery.of(context).padding.top边距来解决的此类问题的Android Java开发人员

class BizCart extends StatefulWidget {
  @override
  _BizCartState createState() => _BizCartState();
}

class _BizCartState extends State<BizCart> with SingleTickerProviderStateMixin {
  AnimationController _controller;

  @override
  void initState() {
    _controller = AnimationController(vsync: this);
    super.initState();
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {

    return Scaffold(
      body:Column(
        mainAxisAlignment: MainAxisAlignment.start,
        children: <Widget>[
          GradientAppBar(),
          Expanded(child:Container(


              child:ListView.builder(
                  itemCount: 31,
                  itemBuilder: (context,index)
                  {
                    return CartItemCard();
                  })
          ), )

        ],
      )
    );
  }
}

没有appBar的代码
enter image description here Flutter Empty space if appBar is null
使用appBar
Flutter developer midhilaj

进行编码

2 个答案:

答案 0 :(得分:0)

 MediaQuery.removePadding(
                  removeTop: true,
                  context: context, child: ListView.builder(

                  itemCount: 31,
                  itemBuilder: (context,index)
                  {
                    return CartItemCard();
                  }))


          ), )

Flutter removePadding

答案 1 :(得分:0)

尝试一下

class BizCart extends StatefulWidget {
  @override
  _BizCartState createState() => _BizCartState();
}

class _BizCartState extends State<BizCart> with SingleTickerProviderStateMixin {
  AnimationController _controller;

  @override
  void initState() {
    _controller = AnimationController(vsync: this);
    super.initState();
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: GradientAppBar(
        gradient: LinearGradient(colors: [Colors.red, Colors.blue]),
      ),
      body: ListView.builder(
        itemCount: 31,
        itemBuilder: (context, index) {
          return CartItemCard();
        },
      ),
    );
  }
}