欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-05-14 16:38:04
注:底色透明是否生效与android版本有关,版本过低设置无效1.在main.dart内设置void main(){ runapp(new myapp()); if (platform.isandro...

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

1.在main.dart内设置

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.单页面设置

appbar: appbar(
		  title: new text(''),
	  elevation: 0,
	  brightness: brightness.dark, //设置为白色字体
	  ),

注:设置appbar之后,单独在build内设置这行代码会失效 systemchrome.setsystemuioverlaystyle(systemuioverlaystyle.light);

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

flutter沉浸式状态栏

void main() {
 runapp(myapp());
 if (platform.isandroid) {
 // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前materialapp组件会覆盖掉这个值。
 systemuioverlaystyle systemuioverlaystyle =
  systemuioverlaystyle(statusbarcolor: colors.transparent);
 systemchrome.setsystemuioverlaystyle(systemuioverlaystyle);
 }
}

flutter修改状态栏字体颜色

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

@override
 widget build(buildcontext context) {

 return annotatedregion<systemuioverlaystyle>(
  value: systemuioverlaystyle.light,
  child: material(child:scaffold(),),);
 }

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