首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在颤动中获得AppBar高度?

如何在颤动中获得AppBar高度?
EN

Stack Overflow用户
提问于 2018-04-28 19:16:23
回答 11查看 69.8K关注 0票数 56

如何在Flutter中获得AppBar的高度?

我使用的是flutter小部件(‘package: MarialApp /Material.dart’)。

我有我的上下文的高度,并想要扣除appbar的高度。

代码语言:javascript
运行
复制
final double height = MediaQuery.of(context).size.height;
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2018-06-02 16:23:55

我认为这不是一种理想的方式,但它会奏效的。

首先,声明将在Scaffold中使用的AppBar小部件。

代码语言:javascript
运行
复制
Widget demoPage() {
  AppBar appBar = AppBar(
    title: Text('Demo'),
  );
  return Scaffold(
    appBar: appBar,
    body: /*
    page body
    */,
  );
}

现在,您可以使用appBarpreferredSized获取其height

代码语言:javascript
运行
复制
double height = appBar.preferredSize.height;

您可以使用此高度从screen height减小。

代码语言:javascript
运行
复制
final double height = MediaQuery.of(context).size.height;
票数 58
EN

Stack Overflow用户

发布于 2019-10-02 01:43:59

您可以使用以下命令:

代码语言:javascript
运行
复制
var height = AppBar().preferredSize.height;

这种方法非常简单和简单。

票数 37
EN

Stack Overflow用户

发布于 2020-04-14 21:32:50

不需要存储AppBar实例,也不需要创建一个虚拟实例来获取高度。此外,AppBar.preferredSize将始终返回相同的56.0值,该值是材质设计的标准,并且该值在某些情况下并不总是可用(例如,它缺少状态栏的高度)。

由于AppBar肯定与Scaffold一起使用,所以获得实际AppBar高度(设备顶部与Scaffold主体顶部之间的距离)的更聪明的方法是使用:

代码语言:javascript
运行
复制
double height = Scaffold.of(context).appBarMaxHeight;

这样,计算的高度将包括(独立于平台):

  • 状态栏高度
  • 应用程序栏高度
  • 底部应用程序栏小部件高度(例如TabBar)

希望这能有所帮助!

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50075945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档