gpt4 book ai didi

android - Flutter Scaffold 允许子系统在导航栏后面

转载 作者:IT王子 更新时间:2023-10-29 06:45:17 27 4
gpt4 key购买 nike

我发布这个问题是因为很难找到我需要的回复,但我想它一定已经在某个地方得到了回复。如果确实在其他地方被询问和回复,请指出正确的方向

请参见下图,取自 kitkat 设备。脚手架的背景是红色的,主体是绿色的。我需要绿色覆盖所有脚手架,包括导航栏后面的区域。

Scaffold = red, Scaffold's Body = green

Ps.: 代码,按要求

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
scaffoldBackgroundColor: Colors.red,
),
home: MyHomePage(),
);
}
}

class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);

@override
_MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

@override
Widget build(BuildContext context) {

return Scaffold(
body: Container(
color: Colors.green,
child: Center(

),
),
// Set bg to blue, to show that the Scaffold is indeed behind the Nav Bar...
backgroundColor: Colors.blue,
);
}

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

Ps².: 为了清楚起见,我的问题是我试图在导航栏后面绘制。脚手架清楚地把自己画在它后面,但它不允许我这样做,如果我使用 SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]); 导航栏是隐藏的,我需要它可见,就像状态栏一样。

最佳答案

您可以使用 Stack 小部件,使容器覆盖脚手架。

阅读此处:https://docs.flutter.io/flutter/widgets/Stack-class.html

你可以这样写

Stack(
children: [
Scaffold(...),
Container(..., height: double.infinity, width: double.infinity),
]
)

容器应该覆盖脚手架,因为它位于脚手架之上:)

关于android - Flutter Scaffold 允许子系统在导航栏后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56026798/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com