![](/img/trans.png)
[英]Why it shows two AppBars after adding 'Sliver AppBar' in flutter App
[英]Flutter: Adding icon before SizedBox. Why Row dissappears after AppBar?
我想在類別左側放置一個菜單按鈕。
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: kDefaultPaddin),
child: SizedBox(
height: 25,
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: categories.length,
itemBuilder: (context, index) => buildCategory(index)),
),
);
}
那是 appbar 之后的類別代碼。 我想把菜單按鈕放在類別的開頭。
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: kDefaultPaddin),
child: SizedBox(
height: 25,
child: Row(
children: <Widget>[
IconButton(icon: Icon(Icons.menu), onPressed: () {}),
ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: categories.length,
itemBuilder: (context, index) => buildCategory(index))
],
)),
);
}
我的代碼有什么問題?
您需要使用Expanded
小部件包裝ListView
。
我以您的代碼為例添加了一個演示:
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: kDefaultPaddin),
child: SizedBox(
height: 25,
child: Row(
children: <Widget>[
IconButton(icon: Icon(Icons.menu), onPressed: () {}),
// wrap with expanded widget
Expanded( // new line
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: categories.length,
itemBuilder: (context, index) => buildCategory(index)),
)
],
),
),
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.