代码之家  ›  专栏  ›  技术社区  ›  Darkhan

如何在状态栏后面绘制脚手架而无需填充?

  •  0
  • Darkhan  · 技术社区  · 5 年前

    以下是我想要实现的目标:

    The scaffold content is behind the status bar

    这就是我现在拥有的:

      @override
      Widget build(BuildContext context) {
        return Scaffold(
          key: _scaffoldKey,
          body: ListView(
            children: [
              Image.asset(
                'assets/images/videosbg.png',
                fit: BoxFit.cover,
                height: 300,
                width: double.infinity,
              ),
              ...
            ],
          ),
        );
      }
    

    The scaffold content is below the status bar

    我不想删除状态栏或更改其颜色,因此SystemChrome不适用于我。

    如何将脚手架主体放置在状态栏后面,而不是下方?我是否需要以某种方式移除状态栏的上部填充物?

    0 回复  |  直到 5 年前
        1
  •  5
  •   user14233653 user14233653    5 年前

    ListView具有padding属性,请将其设置为 EdgeInsets.zero

      @override
      Widget build(BuildContext context) {
        return Scaffold(
          key: _scaffoldKey,
          body: ListView(
            padding: EdgeInsets.zero,
            children: [
              Image.asset(
                'assets/images/videosbg.png',
                fit: BoxFit.cover,
                height: 300,
                width: double.infinity,
              ),
              ...
            ],
          ),
        );
      }
    

    供参考 https://github.com/flutter/flutter/issues/14842

        2
  •  1
  •   Jitesh Mohite    5 年前

    对安卓来说是的

    SystemChrome 用于将条形图设置为透明。该课程提供了一个 setSystemUIOverlayStyle 方法,您可以这样使用它:

    import 'package:flutter/material.dart';
    import 'package:flutter/services.dart';
    
    void main(){
      WidgetsFlutterBinding.ensureInitialized();
      SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
        statusBarColor: Colors.transparent,
      ));
      runApp(MyApp());
    }
    
        3
  •  0
  •   ddalbosco    5 年前

    在运行MaterialApp之前,我尝试将带有透明颜色的SystemChrome放在main()函数中

    SystemChrome.setSystemUIOverlayStyle(
      SystemUiOverlayStyle(statusBarColor: Colors.transparent),
    );
    

    我能复制你想要的东西 enter image description here