如何使ListView.builder()显示下一个(或上一个)元素的一部分。
我有一个ListView.builder()
,并且工作正常,但是我希望用户知道有滚动功能,并且他们需要滚动。
如何实现呢?
我的输出:-
预期产量:-
如何实现呢?
这是我的代码
return FutureBuilder(
future: categories,
builder: (BuildContext context, AsyncSnapshot snapshot) {
return ListView.builder(
itemCount: snapshot.data.length,
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) {
return GestureDetector(
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Container(
child: Padding(
padding:
const EdgeInsets.fromLTRB(16.0, 7.0, 16.0, 10.0),
child: Text(
snapshot.data[index].name,
style: TextStyle(
color: Colors.white,
fontSize: 18.0,
fontWeight: FontWeight.bold),
),
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(25.0),
color: colors[index],
),
),
),
onTap: () => Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Posts(
type: PostsFetchByType.categories,
categoryOrTagIds: [snapshot.data[index].id],
))),
);
});
});
创建一个具有初始offset的scrollcontroller:
scrollController = ScrollController(
initialScrollOffset: 10 // put your value here
);
然后将其添加到您的ListViewBuilder中:
return ListView.builder(
...
controller: scrollController,
...
)
但是,由于要显示它是可滚动的,因此还可以通过包装ListViewBuilder来查看添加滚动条,如下所示:
Scrollbar(
child: ListView.builder(...),
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句