我正在堆叠小部件,我希望它是可滚动的,所以我使用了一个列表视图,我收到了这个错误(constraints.hasBoundedHeight':不是真正的颤动)我看到某处不能将列表视图放置在列表视图中,所以我将其更改为 Column但我仍然遇到同样的错误。下面是我的代码。谢谢。
ListView homeList(){
var listView = ListView(
shrinkWrap: true,
children: <Widget>[
_imageSlider(),
Padding(
padding: EdgeInsets.only(top: 15.0, bottom: 15.0, left: 15.0),
child: Text("Trending", style: TextStyle(color: Colors.white, fontSize: 15.0),),
),
Container(
child: FutureBuilder(
future: _trendingListImages(),
builder: (BuildContext context, AsyncSnapshot async){
if(async.data == null){
return ColorLoader3(
radius: 20.0,
dotRadius: 5.0,
);
}else{
return ListView.builder(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
itemCount: async.data.length,
itemBuilder: (BuildContext context, int position) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Card(
elevation: 18.0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(10.0))),
child: Image.network(
"http://image.tmdb.org/t/p/w500/"+async.data[position].backdropPath,
fit: BoxFit.cover,
height: 200.0,
width: 130.0,
),
clipBehavior: Clip.antiAlias,
margin: EdgeInsets.all(8.0),
),
Text(
async.data[position].title,
style: TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold),
)
],
);
});
}
}
),
)
],
);
return listView;}
Run Code Online (Sandbox Code Playgroud)
小智 5
对我来说,我只是用容器包装 CustomScrollView 或 ListView。像这样:
Container(
margin: EdgeInsets.all(5.0),
height: 295.0,
width: 333.0,
child: CustomScrollView(),
),
Run Code Online (Sandbox Code Playgroud)
所以我最终通过执行以下操作解决了这种特定方法的问题:
FutureBuilder在容器中;ListView.这是代码:
Widget _featuredListHorizontal() {
return Container(
margin: const EdgeInsets.symmetric(vertical: 20.0),
height: 300.0,
child: FutureBuilder(
future: _trendingListImages(),
builder: (BuildContext context, AsyncSnapshot listData) {
if (listData == null) {
return ColorLoader3(
radius: 20.0,
dotRadius: 5.0,
);
} else {
return ListView.builder(
shrinkWrap: true,
physics: ClampingScrollPhysics(),
scrollDirection: Axis.horizontal,
itemCount: listData.data.length,
itemBuilder: (BuildContext context, int position) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Card(
elevation: 18.0,
shape: const RoundedRectangleBorder(
borderRadius:
BorderRadius.all(Radius.circular(10.0))),
clipBehavior: Clip.antiAlias,
margin: const EdgeInsets.all(8.0),
child: Image.network(
"http://image.tmdb.org/t/p/w500/${listData.data[position].backdropPath}",
fit: BoxFit.cover,
height: 200.0,
width: 230.0,
),
),
Text(
listData.data[position].title,
style: TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.bold,
color: Colors.white),
),
],
);
},
);
}
},
),
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8959 次 |
| 最近记录: |