Anonymous
Исправить элементы ящика Flutter
Сообщение
Anonymous » 06 янв 2025, 15:56
Я пытаюсь выровнять виджет нижнего колонтитула по нижней части ящика, но все еще не работает заголовок ящика и список в верхней части ящика. Вот что я пытаюсь:
Код: Выделить всё
//drawer class
class _NavigationDrawer extends State {
@override
Widget build(BuildContext context) {
return Drawer(
backgroundColor: Colors.white,
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
buildHeader(context),
buildMenuItem(context),
buildFooter(context),
],
),
),
);
}
Код: Выделить всё
//header function
Widget buildHeader(BuildContext context) => Material(
color: Colors.white,
child: InkWell(
onTap: () {},
child: Container(
padding: EdgeInsets.only(
top: MediaQuery.of(context).padding.top + 24,
bottom: 24,
),
child: Column(
children: [
Center(
child: Image.asset(
'assets/img/logo.png',
width: MediaQuery.of(context).size.width * 0.5,
height: MediaQuery.of(context).size.width * 0.2,
),
)
],
),
),
),
);
Код: Выделить всё
//body function
Widget buildMenuItem(BuildContext context) => Container(
padding: EdgeInsets.all(24),
color: Colors.red,
child: Column(
children: [
ListTile(
leading: Icon(Icons.home),
title: Text('Home'),
onTap: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
//push
builder: (context) => HomeScreen(),
));
},
),
ListTile(
leading: Icon(Icons.person_2),
title: Text('Profile'),
onTap: () {},
),
ListTile(
leading: Icon(Icons.home_work_rounded),
title: Text('Exwor'),
onTap: () {},
),
// const Divider(color: Colors.black),
ListTile(
leading: Icon(Icons.help),
title: Text('help'),
onTap: () {},
),
ListTile(
title: Text(
"Logout",
),
leading: Icon(
Icons.logout_outlined,
),
onTap: () {},
),
],
),
);
Код: Выделить всё
//footer function
Widget buildFooter(BuildContext context) => Container(
color: Colors.green,
alignment: Alignment.bottomCenter,
// margin: EdgeInsets.only(top: 100),
child: Align(
alignment: FractionalOffset.bottomCenter,
child: Column(
children: [
Text("Developed by .."),
Text(
"Version 1.0.0",
style: TextStyle(
fontSize: 11,
color: Colors.black,
fontWeight: FontWeight.bold),
)
],
)),
);
изображение: НАРИСОВАТЬ
зеленый контейнер (buildfooter) должен быть выровнен по нижней части ящика. Как я могу это исправить? Пожалуйста, помогите мне чтобы найти решение
Подробнее здесь:
https://stackoverflow.com/questions/793 ... awer-items
1736168173
Anonymous
Я пытаюсь выровнять виджет нижнего колонтитула по нижней части ящика, но все еще не работает заголовок ящика и список в верхней части ящика. Вот что я пытаюсь: [code]//drawer class class _NavigationDrawer extends State { @override Widget build(BuildContext context) { return Drawer( backgroundColor: Colors.white, child: SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ buildHeader(context), buildMenuItem(context), buildFooter(context), ], ), ), ); } [/code] [code]//header function Widget buildHeader(BuildContext context) => Material( color: Colors.white, child: InkWell( onTap: () {}, child: Container( padding: EdgeInsets.only( top: MediaQuery.of(context).padding.top + 24, bottom: 24, ), child: Column( children: [ Center( child: Image.asset( 'assets/img/logo.png', width: MediaQuery.of(context).size.width * 0.5, height: MediaQuery.of(context).size.width * 0.2, ), ) ], ), ), ), ); [/code] [code]//body function Widget buildMenuItem(BuildContext context) => Container( padding: EdgeInsets.all(24), color: Colors.red, child: Column( children: [ ListTile( leading: Icon(Icons.home), title: Text('Home'), onTap: () { Navigator.of(context).pushReplacement(MaterialPageRoute( //push builder: (context) => HomeScreen(), )); }, ), ListTile( leading: Icon(Icons.person_2), title: Text('Profile'), onTap: () {}, ), ListTile( leading: Icon(Icons.home_work_rounded), title: Text('Exwor'), onTap: () {}, ), // const Divider(color: Colors.black), ListTile( leading: Icon(Icons.help), title: Text('help'), onTap: () {}, ), ListTile( title: Text( "Logout", ), leading: Icon( Icons.logout_outlined, ), onTap: () {}, ), ], ), ); [/code] [code]//footer function Widget buildFooter(BuildContext context) => Container( color: Colors.green, alignment: Alignment.bottomCenter, // margin: EdgeInsets.only(top: 100), child: Align( alignment: FractionalOffset.bottomCenter, child: Column( children: [ Text("Developed by .."), Text( "Version 1.0.0", style: TextStyle( fontSize: 11, color: Colors.black, fontWeight: FontWeight.bold), ) ], )), ); [/code] изображение: НАРИСОВАТЬ зеленый контейнер (buildfooter) должен быть выровнен по нижней части ящика. Как я могу это исправить? Пожалуйста, помогите мне чтобы найти решение Подробнее здесь: [url]https://stackoverflow.com/questions/79333068/fix-flutter-drawer-items[/url]