我有一个ListView.builder
从一个列表生成ListTile
。我希望获得与典型列表一样的交替颜色。
有Flutter的官方方式吗?或者我坚持做
之类的事情ListView.builder(
...
itemBuilder: (...) {
return ListTile
..
title: Container(
decoration: BoxDecoration(color: Colors.grey),
child: Column(children: <Widget>[
Text("What should've been the title property"),
Text("and its trailing"),
],),
),
或类似的东西?
答案 0 :(得分:2)
您可以使用提供给项目构建器的index
来设置颜色,如果要使用ListTile
,可以通过将其包装在{{1 }}:
Container
答案 1 :(得分:1)
知道了。
我可以使用ListTile
来访问 color 属性,而不是使用Card
。然后根据@pskink的建议,我可以使用索引来确定它是奇数还是偶数。
答案 2 :(得分:1)
我这样做的方法是设置列表,然后创建一个返回类型为Color且传入的参数为索引的方法。
Color selectedColour(int position) {
Color c;
if (position % 3 == 0) c = Colours.cTLightBlue;
if (position % 3 == 1) c = Colours.cTMidBlue;
if (position % 3 == 2) c = Colours.cTDarkBlue;
return c;
}
在“颜色”命名参数调用selectedColour中,您将获得所需颜色的替代颜色。