如何在Flutter中获得AppBar的高度?
我使用的是flutter小部件(‘package: MarialApp /Material.dart’)。
我有我的上下文的高度,并想要扣除appbar的高度。
final double height = MediaQuery.of(context).size.height;
发布于 2018-06-02 16:23:55
我认为这不是一种理想的方式,但它会奏效的。
首先,声明将在Scaffold
中使用的AppBar
小部件。
Widget demoPage() {
AppBar appBar = AppBar(
title: Text('Demo'),
);
return Scaffold(
appBar: appBar,
body: /*
page body
*/,
);
}
现在,您可以使用appBar
的preferredSized
获取其height
double height = appBar.preferredSize.height;
您可以使用此高度从screen height减小。
final double height = MediaQuery.of(context).size.height;
发布于 2019-10-02 01:43:59
您可以使用以下命令:
var height = AppBar().preferredSize.height;
这种方法非常简单和简单。
发布于 2020-04-14 21:32:50
不需要存储AppBar
实例,也不需要创建一个虚拟实例来获取高度。此外,AppBar.preferredSize
将始终返回相同的56.0
值,该值是材质设计的标准,并且该值在某些情况下并不总是可用(例如,它缺少状态栏的高度)。
由于AppBar
肯定与Scaffold
一起使用,所以获得实际AppBar
高度(设备顶部与Scaffold
主体顶部之间的距离)的更聪明的方法是使用:
double height = Scaffold.of(context).appBarMaxHeight;
这样,计算的高度将包括(独立于平台):
希望这能有所帮助!
https://stackoverflow.com/questions/50075945
复制相似问题