При использовании BottomNavigationBar: BottomAppBar тело не отображается на экране. Но когда я двигаю его, тело показывает на экране. Поскольку у меня есть нижняя панель навигации вне основного тела, как и должно быть, очень удивительно, почему содержание тела просто становится невидимым, пока нижняя панель навигации находится в коде.
Редактировать: интересно, возможно, тело должно быть изменено с «нового контейнера» на что-то другое, поэтому я включил в него столько кода.
Вот код:
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(
title: const Text('Refine'),
backgroundColor: Color(0xFFffffff),
),
body: new Container(
width: MediaQuery.of(context).copyWith().size.width,
child: ListView(
shrinkWrap: true,
children: <Widget>[
new Column(
children: <Widget>[
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
Align(
alignment: Alignment.centerLeft,
child: Container(
child: Text(
'Sort By',
style:
TextStyle(color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.bold),
),
),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
Align(
alignment: Alignment.centerLeft,
child: Container(
color: Color(0xFFffffff),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
new Text(
'Relevance',
style:
TextStyle(color: Colors.black,
fontSize: 15.0,
fontWeight: FontWeight.normal),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
new Text(
'Top Rated',
style:
TextStyle(color: Colors.black,
fontSize: 15.0,
fontWeight: FontWeight.normal),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
new Text(
'New',
style:
TextStyle(color: Colors.black,
fontSize: 15.0,
fontWeight: FontWeight.normal),
),
],
),
),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
Align(
alignment: Alignment.centerLeft,
child: Container(
child: Text(
'Category',
style:
TextStyle(color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.bold),
),
),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
Align(
alignment: Alignment.centerLeft,
child: Container(
color: Color(0xFFffffff),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new DropdownButtonHideUnderline(
child: DropdownButton<String>(
hint: Text('All Categories'),
),
),
],
),
),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
Align(
alignment: Alignment.centerLeft,
child: Container(
child: Text(
'Location',
style:
TextStyle(color: Colors.black,
fontSize: 15.0,
fontWeight: FontWeight.bold),
),
),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
Align(
alignment: Alignment.centerLeft,
child: Container(
color: Color(0xFFffffff),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget> [
new DropdownButtonHideUnderline(
child: DropdownButton<String>(
hint: Text('Illinois'),
),
),
new DropdownButtonHideUnderline(
child: DropdownButton<String>(
hint: Text('Chicago'),
),
),
],
),
),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
Align(
alignment: Alignment.centerLeft,
child: Container(
child: Text(
'Price',
style:
TextStyle(color: Colors.black,
fontSize: 15.0,
fontWeight: FontWeight.bold),
),
),
),
new Padding(
padding: const EdgeInsets.only(top: 15.0,),
),
Align(
alignment: Alignment.centerLeft,
child: Container(
color: Color(0xFFffffff),
child: Row(
children: <Widget>[
new Text(
'\$',
),
new Text(
'To',
),
],
),
),
),
],
),
],
),
),
bottomNavigationBar: BottomAppBar(
child: new Container(
padding: EdgeInsets.only(
top: 20.0,
bottom: 20.0,
left: 25.0,
right: 25.0,
),
decoration: BoxDecoration(
color: Color(0xFFffffff),
),
child: new Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new SizedBox(
width: double.infinity, child: RaisedButton(
color: Color(0xFF2e616f),
textColor: Colors.white,
onPressed: () {},
child: Text('Apply',
style: new TextStyle(fontSize: 14.0)),
),
),
],
),
),
),
);
}