web-dev-qa-db-de.com

AppBar-Höhe in Flutter

Wie kann ich die Höhe einer AppBar in Flutter berechnen?
Ich verwende das MarialApp Widget ('package: flattern/material.Dart').

Ich habe die Höhe meines Context und möchte die Höhe der Appbar abziehen.

final double height = MediaQuery.of(context).size.height;
10
R2T8

Ich denke, das ist kein idealer Weg, aber es wird funktionieren. 

Zuerst deklarieren Sie das AppBar-Widget, das Sie in Ihrer Scaffold verwenden möchten. 

Widget demoPage() {
  AppBar appBar = AppBar(
    title: Text('Demo'),
  );
  return Scaffold(
    appBar: appBar,
    body: /*
    page body
    */,
  );
}

Jetzt können Sie die height Ihrer appBar mit ihrer preferredSized erhalten:

double height = appBar.preferredSize.height;

Sie können diese Höhe verwenden, um die Höhe von screen zu verringern.

final double height = MediaQuery.of(context).size.height;
9
ap14

Es gibt eine Konstante für die normale Höhe der Symbolleiste: kToolbarHeight

1
Daniel Illescas

Verwenden Sie die bevorzugte Größe

//defined as
Size preferredSize

preffered size ist eine Größe, deren Höhe die Summe aus kToolbarHeight und der bevorzugten Höhe des unteren Widget ist.

Scaffold verwendet diese Größe, um die Höhe der App-Leiste festzulegen.

Sie wird wie folgt in der App-Leiste definiert, die PreferredSizeWidget implementiert

 preferredSize = new Size.fromHeight(kToolbarHeight + (bottom?.preferredSize?.height ?? 0.0))

ein Link zum Beispiel ... 

https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/app_bar.Dart

0

sie können dies verwenden:

var height = AppBar().preferredSize.Height;

dieser Weg ist sehr beispielhaft und einfach

0
M. Soltani

Sie können die Höhe der AppBar mit Hilfe von:

double height = appBar.preferredSize.height;

Stellen Sie sicher, dass Sie das AppBar-Widget deklariert haben.

0
goops17