Flutter 使用LayoutBuilder()只调用函数一次-flatter

Flutter 使用LayoutBuilder()只调用函数一次-flatter,flutter,dart,layout,Flutter,Dart,Layout,当LayoutBuilder()中的高度限制为

LayoutBuilder()
中的高度限制为

_top = constraints.biggest.height

if (_top <= 100) {
   myCustomsystemOverlaysColorsFunction(statusWhiteIcons: false);
} 
else {
   myCustomsystemOverlaysColorsFunction(statusWhiteIcons: true);
}

\u top=constraints.max.height
如果(_top编辑

用布尔来维持国家

bool statusBarChanged = false

changeStatusBar(){
 if(!statusBarChanged){
  statusBarChanged = true;
  //proceed with changing color
 }
}
从布局生成器调用上述函数


或者您可以使用MediaQuery更改颜色

我了解bool方法,但我们如何在此处使用MediaQuery?布局生成器是用于整个屏幕还是部分屏幕?仅SliverAppBar()抱歉,我运行了此操作..我错了..布局生成器是您唯一的选择