flutter 状态栏抖动下的Appbar标题

1aaf6o9v  于 2023-10-22  发布在  Flutter
关注(0)|答案(4)|浏览(150)

我是一个相对较新的Flutter,所以我不知道为什么我的应用程序栏出现这样的

下面是主.dart文件

import 'package:testapp/test_page.dart';
import 'package:flutter/material.dart';

void main() {
runApp(Home());
}

class Home extends 
StatelessWidget {

@override
 Widget build(BuildContext 
context) {
return MaterialApp(
  debugShowCheckedModeBanner: false,
  title: 'Test App',
  theme: ThemeData(primaryColor: Colors.purple),
  home: TestPage(),
);
}
}

这是我的测试页面.dart

import 'package:flutter/material.dart';

class TestPage extends 
StatelessWidget {
@override
Widget build(BuildContext 
context) {
return Scaffold(
  primary: false,
  appBar: AppBar(
    title: Text(' Test app'),
  ),
  body: Center(child: Text('Example Test')),
);
}
}

我试过使用安全区,它不起作用。谢谢你

mpgws1up

mpgws1up1#

我是这样解决类似问题的。简单地用SafeArea Widget Package 您的Scaffold Widget

SafeArea(
   child: Scaffold()
)

您可以在此链接Flutter SafeArea Widget中找到有关SafeArea Widget的更多详细信息
希望它能帮助
快乐编码

sy5wg1nm

sy5wg1nm2#

您已将主要属性设置为false。
这个scaffold是否显示在屏幕的顶部。
如果为true,则appBar的高度将扩展为屏幕状态栏的高度,即MediaQuery的顶部填充。
https://api.flutter.dev/flutter/material/Scaffold/primary.html

ykejflvf

ykejflvf3#

将主值更改为true并告诉我结果:

Scaffold(
primary: true, // this line
appBar: AppBar(......

编辑:

MaterialApp不能是statelessWidget的子级。使用它作为主Widget

runApp(MaterialApp(
  ......
))
gdrx4gfi

gdrx4gfi4#

非常感谢你们,我创建了一个新项目,然后我意识到这是由我安装的一个库的错误引起的。现在完全修好了️

相关问题