服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Flutter 透明状态栏及字体颜色的设置方法

Flutter 透明状态栏及字体颜色的设置方法

2022-12-14 15:07哇咔 哇咔 Android

这篇文章主要介绍了Flutter 透明状态栏及字体颜色的设置方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

注:底色透明是否生效与android版本有关,版本过低设置无效

1.在main.dart内设置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
void main(){
 runApp(new MyApp());
 if (Platform.isAndroid) {
 //设置Android头部的导航栏透明
 SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle(
    statusBarColor: Colors.transparent, //全局设置透明
    statusBarIconBrightness: Brightness.light
    //light:黑色图标 dark:白色图标
    //在此处设置statusBarIconBrightness为全局设置
 );
 SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
 }
}

2.单页面设置

?
1
2
3
4
5
appBar: AppBar(
          title: new Text(''),
      elevation: 0,
      brightness: Brightness.dark, //设置为白色字体
      ),

注:设置AppBar之后,单独在build内设置这行代码会失效 SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);

ps:下面看下Flutter修改状态栏颜色以及字体颜色

Flutter沉浸式状态栏

?
1
2
3
4
5
6
7
8
9
void main() {
 runApp(MyApp());
 if (Platform.isAndroid) {
 // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
 SystemUiOverlayStyle systemUiOverlayStyle =
  SystemUiOverlayStyle(statusBarColor: Colors.transparent);
 SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
 }
}

Flutter修改状态栏字体颜色

使用AnnotatedRegion包裹Scaffold,可以使得状态栏颜色改变,有dark和light两种

?
1
2
3
4
5
6
7
@override
 Widget build(BuildContext context) {
 
 return AnnotatedRegion<SystemUiOverlayStyle>(
  value: SystemUiOverlayStyle.light,
  child: Material(child:Scaffold(),),);
 }

到此这篇关于Flutter 透明状态栏及字体颜色的文章就介绍到这了,更多相关Flutter 状态栏字体颜色内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/klousYG/article/details/105845683

延伸 · 阅读

精彩推荐