Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xFFE6E6E6),
body: SingleChildScrollView(
child: SafeArea(
child: Column(
children: [
ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: iconList.length,
itemBuilder: (BuildContext context, int index) {
return Row(
children: [iconList[index]],
);
},
),
const SizedBox(
height: 50,
),
uj5u.com熱心網友回復:
請注意,您的小部件樹中有 2 個可滾動小部件,SingleChildScrollView和ListView.builder,SingleChildScrollView可以設定為水平滾動,并且不要忘記垂直對齊的 Column 它是子級。
如果你想要水平滾動的東西,你需要一個Row用 with 包裹的SingleChildScrollView東西scrollDirection: Axis.horizontal,同樣的東西listView
另一個注意事項:就像我說你有可滾動的小部件,所以最好考慮不要使用,ListView因為你使用過SingleChildScrollView,而是根據索引生成小部件,你可以使用 List.generate() 方法:
SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
children: <Widget>[
// your other Widgets
...List.generate(iconList.length, (index) => YourWidgetExample(index)
),
],
)
考慮一下我在代碼中是否有任何寫作錯誤,因為我是直接在 Stackoverflow 編輯器中撰寫的
希望能幫助到你
uj5u.com熱心網友回復:
每當您嘗試在 Column 小部件中使用水平 ListView 時,請提供基于 ItemBuilder 的固定高度
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
SizedBox(
height: 200,
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: 22,
itemBuilder: (BuildContext context, int index) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [Text("Item $index")],
);
},
),
),
],
),
或者您可以關注 Gwhyyy 的帖子SingleChildScrollView
SingleChildScrollView(
child: Row(
children: [
for (int index = 0; index < itemLength; index )
Text("Item $index")
],
),
),
您可以檢查無界高度/寬度 | 解碼顫振
uj5u.com熱心網友回復:
您可以通過設定primary:falsealistview并包裝listview到IntrinsicHeight小部件中來解決此問題。
但我沒有測驗過。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/516459.html
標籤:扑列表显示颤振小部件
