我想从我的菜单在屏幕底部的一个列表瓷砖。我用的是一个大小的盒子,它适用于我的诺基亚7.1,但是当我用另一款手机进行调试时,解决方案就不能用了,因为我为诺基亚定制了这个盒子,而不是另一部手机。现在我不知道该怎么做了。我试过用容器来代替抽屉,但它解决不了问题。这是我的密码:
return Drawer(
child: ListView(
physics: NeverScrollableScrollPhysics(),
padding: EdgeInsets.zero,
children: <Widget>[
DrawerHeader(
decoration: BoxDecoration(
color: Colors.green,
),
child: Text(
'Menü',
style: GoogleFonts.oswald(
textStyle: TextStyle(
color: Colors.black,
fontSize: 45,
)
),
),
),ListTiles,这是我想要的底部的列表:
// this is my first attempt:
/*SizedBox(
height: 410,
),*/
ListTile(
leading: Icon(Icons.arrow_back_outlined,
color: Colors.black,
size: 30,
),
title: Text('Back',
style: GoogleFonts.raleway(
textStyle: TextStyle(
color: Colors.black,
fontSize: 30,
)
)
),
onTap: () => Navigator.pop(context),
),
],
),
);发布于 2022-01-06 22:00:14
从ListView与physics: NeverScrollableScrollPhysics()相结合的角度来看,我认为对以下解决方案的重构也适用于您(精简为简洁):
Drawer(child:
CustomScrollView(
physics: NeverScrollableScrollPhysics(),
slivers: <Widget>[
SliverToBoxAdapter(child:
Column(children: [
DrawerHeader(decoration: BoxDecoration(color: Colors.green), child: Text('Menü')),
// all of your list tiles
],
crossAxisAlignment: CrossAxisAlignment.stretch,
),
),
SliverFillRemaining(child:
Align(child:
ListTile(
leading: Icon(Icons.arrow_back_outlined, color: Colors.black, size: 30),
title: Text('Back'),
onTap: () => Navigator.pop(context),
),
alignment: Alignment.bottomCenter,
),
hasScrollBody: false,
)
],
)
)https://stackoverflow.com/questions/70613915
复制相似问题