Flutter 透明状态栏及字体颜色的设置方法
注:底色透明是否生效与android版本有关,版本过低设置无效
1.在main.dart内设置
voidmain(){
runApp(newMyApp());
if(Platform.isAndroid){
//设置Android头部的导航栏透明
SystemUiOverlayStylesystemUiOverlayStyle=SystemUiOverlayStyle(
statusBarColor:Colors.transparent,//全局设置透明
statusBarIconBrightness:Brightness.light
//light:黑色图标dark:白色图标
//在此处设置statusBarIconBrightness为全局设置
);
SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
}
}
2.单页面设置
appBar:AppBar(
title:newText(''),
elevation:0,
brightness:Brightness.dark,//设置为白色字体
),
注:设置AppBar之后,单独在build内设置这行代码会失效SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);
ps:下面看下Flutter修改状态栏颜色以及字体颜色
Flutter沉浸式状态栏
voidmain(){
runApp(MyApp());
if(Platform.isAndroid){
//以下两行设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
SystemUiOverlayStylesystemUiOverlayStyle=
SystemUiOverlayStyle(statusBarColor:Colors.transparent);
SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
}
}
Flutter修改状态栏字体颜色
使用AnnotatedRegion包裹Scaffold,可以使得状态栏颜色改变,有dark和light两种
@override
Widgetbuild(BuildContextcontext){
returnAnnotatedRegion(
value:SystemUiOverlayStyle.light,
child:Material(child:Scaffold(),),);
}
到此这篇关于Flutter透明状态栏及字体颜色的文章就介绍到这了,更多相关Flutter状态栏字体颜色内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!