【发布时间】:2020-03-12 01:05:59
【问题描述】:
我的颤振应用程序中有两个水平列表视图。当我放置第二个列表视图时出现错误。 我用nestedscrollview滚动页面,但这个问题没有解决。如何管理小部件的高度,使这个错误不会发生?我试图为第二个listview设置高度,但它仍然出错 看看我的代码:
@override
Widget build(BuildContext context) {
return new MaterialApp(
theme: ThemeData(
fontFamily: "Vazir",
primaryColor: Colors.red,
accentColor: Colors.green,
),
debugShowCheckedModeBanner: false,
home: Directionality(
textDirection: TextDirection.rtl,
child: Scaffold(
drawer: myDrawerLayout(context),
body: NestedScrollView(
headerSliverBuilder: (context, bool innerScroll) {
return <Widget>[
SliverAppBar(
title: Text(
"فروشگاه",
style: TextStyle(fontFamily: "Vazir"),
))
];
},
body: Column(
children: <Widget>[
_imageSlider(),
_explanationTextForAmazingProduct(),//text for listview explanation
_SizedBox(
height: 190,
child: ListView.builder(
scrollDirection: Axis.horizontal,
padding: EdgeInsets.all(8),
shrinkWrap: true,
itemCount: productList.length,
itemBuilder: (BuildContext context, int index) {
return productList.isEmpty || productList == null
? wiatingView()
: Card(
child: Container(
width: 200,
height: 70,
child: Column(
children: <Widget>[
Padding(
padding:
const EdgeInsets.only(top: 8),
child: Container(
width: 80,
height: 80,
decoration: BoxDecoration(
image: DecorationImage(
image: NetworkImage(
productList[index]
.getImage()))),
),
),
Padding(
padding: const EdgeInsets.only(
right: 8, left: 8, top: 8),
child: Center(
child: Text(productList[index]
.getTitle()),
),
),
Center(
child: Text(
productList[index].getPrice(),
style: TextStyle(
color: Colors.green),
),
),
],
),
),
);
}),
),
explanationTextForMostSellProduct(),//text for second listview explanation
Expanded(
child: ListView.builder(
scrollDirection: Axis.horizontal,
padding: EdgeInsets.all(8),
shrinkWrap: true,
itemCount: productList.length,
itemBuilder: (BuildContext context, int index) {
return productList.isEmpty || productList == null
? wiatingView()
: Card(
child: Container(
width: 200,
height: 150,
child: Column(
children: <Widget>[
Padding(
padding:
const EdgeInsets.only(top: 8),
child: Container(
width: 80,
height: 80,
decoration: BoxDecoration(
image: DecorationImage(
image: NetworkImage(
productList[index]
.getImage()))),
),
),
Padding(
padding: const EdgeInsets.only(
right: 8, left: 8, top: 8),
child: Center(
child: Text(productList[index]
.getTitle()),
),
),
Center(
child: Text(
productList[index].getPrice(),
style: TextStyle(
color: Colors.green),
),
),
],
),
),
);
}),
)
],
),
)),
));
}
【问题讨论】:
标签: listview flutter widget height