FlutterでAppBarの高さを取得するにはどうすればよいですか?
MarialApp Widget( 'package:flutter/material.Dart')を使用しています。
コンテキストの高さがあるので、アプリバーの高さを差し引きたいです。
final double height = MediaQuery.of(context).size.height;
これは理想的な方法ではありませんが、うまくいくと思います。
まずAppBar
で使用するScaffold
ウィジェットを宣言します。
Widget demoPage() {
AppBar appBar = AppBar(
title: Text('Demo'),
);
return Scaffold(
appBar: appBar,
body: /*
page body
*/,
);
}
NowappBar
を使用して、preferredSized
の-heightを取得できます。
double height = appBar.preferredSize.height;
この高さを使用して、画面の高さから減らすことができます。
final double height = MediaQuery.of(context).size.height;
通常のツールバーの高さには定数があります:kToolbarHeight
以下を使用して、AppBarの高さを取得できます。
double height = appBar.preferredSize.height;
AppBarウィジェットを宣言していることを確認してください。
あらかじめ設定されたサイズを使用する
//defined as
Size preferredSize
好ましいサイズは、高さがkToolbarHeightと下部ウィジェットの優先高さの合計であるサイズです。
Scaffoldはこのサイズを使用してアプリバーの高さを設定します。
PreferredSizeWidgetを実装するアプリバークラスで以下のように定義されます
preferredSize = new Size.fromHeight(kToolbarHeight + (bottom?.preferredSize?.height ?? 0.0))
たとえばリンク...
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/app_bar.Dart
これを使用できます:
var height = AppBar().preferredSize.Height;
この方法は非常にサンプルで簡単です