Comment obtenir la hauteur d'un AppBar in Flutter?
J'utilise le widget MarialApp ('package: flutter/material.Dart').
J'ai la hauteur de mon contexte et voudrais déduire la hauteur de la barre d’application.
final double height = MediaQuery.of(context).size.height;
Je pense que ce n’est pas une solution idéale, mais cela fonctionnera.
Firstly déclare le widget AppBar
que vous utiliserez dans votre Scaffold
.
Widget demoPage() {
AppBar appBar = AppBar(
title: Text('Demo'),
);
return Scaffold(
appBar: appBar,
body: /*
page body
*/,
);
}
Maintenant vous pouvez obtenir le hauteur de votre appBar
en utilisant sa preferredSized
:
double height = appBar.preferredSize.height;
Vous pouvez utiliser cette hauteur pour réduire de hauteur de l'écran _.
final double height = MediaQuery.of(context).size.height;
Utilisez une taille préférée
//defined as
Size preferredSize
preffered size est une taille dont la hauteur est la somme de kToolbarHeight et de la hauteur préférée du widget du bas.
Scaffold utilise cette taille pour définir la hauteur de la barre d'applications.
Il est défini comme ci-dessous dans la classe de la barre d'application qui implémente PreferredSizeWidget.
preferredSize = new Size.fromHeight(kToolbarHeight + (bottom?.preferredSize?.height ?? 0.0))
un lien par exemple ...
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/app_bar.Dart
Vous pouvez obtenir la hauteur de AppBar en utilisant:
double height = appBar.preferredSize.height;
Assurez-vous d'avoir déclaré le widget AppBar.