我已经实施了
SystemChrome.setEnabledSystemUIOverlays([]);
在我的主要功能中隐藏状态栏但我需要在我点击我的文本字段时将其恢复。因此用户可以使用底栏上的后退选项。
我试过这样做:
onTap :()=> SystemChrome.restoreSystemUIOverlays()
但那不起作用。
Container _getSearchBar() {
return new Container(
margin: const EdgeInsets.only(top: 21.0, right: 8.0, left: 8.0),
child: new Card(
child: new ListTile(
leading: new Icon(Icons.search),
title: new TextField(
onTap: () => SystemChrome.restoreSystemUIOverlays(),
controller: controller,
decoration: new InputDecoration(
hintText: 'Search', border: InputBorder.none),
),
trailing: new IconButton(
icon: new Icon(Icons.cancel),
onPressed: () {
controller.clear();
},
),
),
),
);
}
根据restoreSystemUIOverlays()
函数documentation它只返回setEnabledSystemUIOverlays()
的最后一个设置,在你的情况下隐藏状态栏。相反,你应该使用:
onTap: () => SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);