Я пытаюсь создать пользовательский вид прокрутки, который содержит небольшую панель приложений для достижения чего-то похожего на то, что показано здесь:
https://medium.com/@diegoveloper/flutter-collapsing-toolbar-sliver-app-bar-14b858e87abe
Тем не менее, я хочу иметь слово «Поиск», а под ним я хочу, чтобы 3 кнопки «IconButton» были равномерно распределены, когда страница (CustomScrollView) прокручивается, я хочу, чтобы 3 кнопки «IconButton» были закреплены в верхней части панели SliverAppBar и текст поиска исчез ...
Я пытался добиться вышеуказанного с помощью следующего кода:
class SearchPage extends StatelessWidget {
const SearchPage();
@override
Widget build(BuildContext context) {
return CustomScrollView(slivers: <Widget>[
const SliverAppBar(
pinned: true,
expandedHeight: 250.0,
flexibleSpace: _buildSliverAppBarFlex(),
);
}
Widget _buildSliverAppBarFlex() {
return Container(
child: Column(
children: <Widget>[
Text("Search", style: TextStyle(fontSize: 24.0,
color: Colors.white,
fontWeight: FontWeight.bold)),
Row(children: <Widget>[
IconButton(icon: Icon(Icons.flight)),
IconButton(icon: Icon(Icons.hotel)),
IconButton(icon: Icon(Icons.drive_eta))
])
],
)
);
}
}
Однако я получаю предупреждение о том, что FlexibleSpace должен принимать виджет конструктора const, и что созданный мной виджет _buildSilverAppBarFlex не является - я не могу добавить к нему также const или final ... Есть идеи, как мне достичь того, чего я хочу?