Я создавал приложение для флаттера. Там я сделал SliverAppBar:
child: NestedScrollView (
headerSliverBuilder: (BuildContext context, i) {
return <Widget> [
SliverAppBar (
backgroundColor: Colors.black,
expandedHeight: 150.0,
)
];
},
Я сделал высоту 150,0 пикселей. Но я понял, что этот размер будет меняться в разных устройствах. Как сделать так, чтобы размер экрана занимал 40% экрана на каждом устройстве?





Вы можете использовать BuildContext context с MediaQuery, чтобы узнать текущий размер экрана устройства. Например:
var width = MediaQuery.of(context).size.width * 0.4; // set width to 40% of the screen width
var height = MediaQuery.of(context).size.height * 0.4; // set height to 40% of the screen height
Используйте Media Query, чтобы получить размер экрана - docs.flutter.io/flutter/widgets/MediaQueryData/size.html