android - 在 Flutter 中将底部系统导航栏设置为透明不起作用
问题描述
我正在尝试将 Flutter 中的 Android 底部系统导航栏设置为透明。如果我设置颜色,它会按预期工作。一旦我尝试将系统导航栏设置为透明,就会出现一个灰色栏。对于 StatusBar,它运行良好。
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: Colors.transparent,
systemNavigationBarColor: Colors.transparent,
));
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: TestApp(),
);
}
}
class TestApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
extendBodyBehindAppBar: true,
extendBody: true,
backgroundColor: Color(0xFFE76098),
body: Container(
),
);
}
}
解决方案
只需用 Widget 包装您NavigationBar
的Opacity
Widget。这是一个例子:
Opacity(
opacity: 0.5,
child: YourNavigationBar(),
),
您可以将opacity
参数从 0 更改为 1,0 表示完全不可见,1 表示可见。我使用了 0.5,所以它将是半可见的;)。
推荐阅读
- kubernetes - 子网掩码与kubernetes master ip mask的关系
- r - 变异多个/连续列(使用 dplyr)
- c++ - 头文件和库文件有什么区别?
- swift - 视图未在类别菜单项选择 SwiftUI 上更新
- python - Django-Simple-Captcha Cron 作业删除验证码记录
- javascript - 不在循环中执行语句
- r - 访问 R 中的共享点文件夹
- javascript - 如何在我的 cypress 测试中处理 gmail 登录并对收件箱执行操作?
- javascript - 动态数据驱动网站的推荐库
- react-native - 如何在反应原生项目的主目录中获取文件?