在我的應用程式中,我想在主螢屏上水平和垂直地顯示兩種不同的產品。但我想用ListView.Builder來做這件事,因為它們都是作為串列出現的。我找不到正確的用法,你能幫我一下嗎?
SingleChildScrollView(
孩子。Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
SizedBox(
高度。200.0。
孩子。ListView.builder(
物理學。ClampingScrollPhysics()。
shrinkWrap: true。
滾動方向。Axis.horizontal,
itemCount: 25,
itemBuilder。(BuildContext context, int index) =>
卡片(
孩子。Center(child: Text('Horizontal List Child'))。
),
),
),
ListView.builder(
itemCount: 10,
shrinkWrap: true。
滾動方向。Axis.vertical。
itemBuilder。(context, index) {
return Expanded(
孩子。Card(
child:
Center(child: Text('Vertical List Child') )。
);
},
)
],
),
),
我可以不使用ListView.builder,但我需要使用ListView.builder。垂直部分的高度應該與里面的元素相等。
uj5u.com熱心網友回復:
你一定需要定義任何滾動視圖的高度。我更喜歡水平滾動視圖
SingleChildScrollView(
孩子。Column(
children: [
容器(
高度。150。
孩子。ListView.builder(
物理學。ClampingScrollPhysics()。
shrinkWrap: true。
滾動方向。Axis.horizontal,
itemCount: 25,
itemBuilder。(BuildContext context, int index) {
...
...
...
},
),
),
ListView.builder(
itemCount: 10,
shrinkWrap: true。
滾動方向。Axis.vertical。
itemBuilder。(context, index) {
...
...
...
},
),
],
)
)
uj5u.com熱心網友回復:
展開后使里面的專案成為完整的身體。 只要去掉它和高度,使專案的高度等于卡片的高度就可以了
。 ListView.builder(
itemCount: 10,
shrinkWrap: true,
滾動方向。Axis.vertical。
itemBuilder。(context, index) {
return Card(
孩子。Center(child: Text('Vertical List
兒童')
)
);
},
)
uj5u.com熱心網友回復:
移除SingleChildScrollView。 在第二個ListView中添加一個Expanded作為父節點。 從卡片中移除Expanded
移除SingleChildScrollView。
uj5u.com熱心網友回復:
Scaffold(
體。SafeArea( // in case you don't have appbar
孩子。自定義滾動視圖(CustomScrollView)
物理學。const BouncingScrollPhysics()。
slivers: [
const SliverToBoxAdaptar(child:Container(child:ListView(..)))// horizontalList
const SliverList()// verticalSliverList。
],
),
),
);
試試這個
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/315676.html
標籤:

