Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在没有填充的情况下在状态栏后面绘制列表视图?_Flutter_Dart - Fatal编程技术网

Flutter 如何在没有填充的情况下在状态栏后面绘制列表视图?

Flutter 如何在没有填充的情况下在状态栏后面绘制列表视图?,flutter,dart,Flutter,Dart,以下是我想要实现的目标: 这就是我现在拥有的: @override Widget build(BuildContext context) { return Scaffold( key: _scaffoldKey, body: ListView( children: [ Image.asset( 'assets/images/videosbg.png', fit: BoxF

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

这就是我现在拥有的:

  @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,
          ),
          ...
        ],
      ),
    );
  }

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


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

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

SystemChrome.setSystemUIOverlayStyle(
  SystemUiOverlayStyle(statusBarColor: Colors.transparent),
);
我能复制你想要的东西
对于Android是

SystemChrome
用于设置透明条。该类提供了一个
setSystemMioverLayStyle
方法,您可以这样使用它:

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main(){
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
    statusBarColor: Colors.transparent,
  ));
  runApp(MyApp());
}

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,
          ),
          ...
        ],
      ),
    );
  }

仅供参考

@Darkhan:您能告诉我这个解决方案对您是否有效吗?我已尝试在main()中将颜色设置为透明,但没有任何改变。似乎问题不在于颜色,而在于填充物。可能我的小部件结构错误,或者我应该在Scaffold中更改某些内容?Scaffold是为您的屏幕设计的,它不会对您有任何帮助。我已尝试按照下面的一些答案将main()中的颜色设置为透明,但没有任何更改。上面的填充物还在那里。可能我的小部件结构错误,或者我应该在Scaffold中更改一些内容?我已经尝试在main()中将颜色设置为透明,但没有任何更改。上面的填充物还在那里。也许我的小部件结构错了,或者我应该在Scaffold中更改一些内容?