有什么办法可以改变前导 CircleAvatar 的背景颜色
Is there any way to alternate the backgroundColor of leading, CircleAvatar
我正在将 api 响应的数据显示到 ListView.builder,ListTile,我想改变 CircleAvatar 的背景颜色,假设 api 响应数据长度为 5,然后在第 1 和第 2 圈头像背景颜色将与第 4 和第 5 相同(如果有 3 种替代颜色)
ListTile(
leading: CircleAvatar(
radius: 25,
backgroundColor:Colors.red
有什么想法可以帮忙吗?
试试这个:
int i = 0;
ListView(...
Color c = Colors.red;
if(i == 0) i++;
else if(i == 1) {
c = Colors.blue;
i++;
} else if(i == 2) {
c = Colors.yellow;
i = 0;
}
ListTile(
leading: CircleAvatar(
radius: 25,
backgroundColor: c
1,2 和 4,5 的交替逻辑让我有点困惑,但据我了解,您可以使用构建器索引来更改颜色。像这样:
ListView.builder(
itemCount: dummyList.length,
itemBuilder: (context, index) => ListTile(
leading: CircleAvatar(
radius: 25,
backgroundColor: [1,2,4,5].contains(index) ? Colors.red : Colors.blue
),
),
);
您可能需要根据需要更改逻辑。例如,只有最后两个的颜色是:
[dummyList.length - 1, dummyList.length].contains(index) ? Colors.red : Colors.blue
或者偶数为
(index % 2) == 0 ? Colors.red : Colors.blue
试试下面的代码,希望它能帮助你改变值,比如你需要的 0 和 1 以及颜色:
//declare one varibale
var lead;
backgroundColor: (lead == '0')? Colors.blue: (lead == '1')? Colors.red: Colors.green,
我正在将 api 响应的数据显示到 ListView.builder,ListTile,我想改变 CircleAvatar 的背景颜色,假设 api 响应数据长度为 5,然后在第 1 和第 2 圈头像背景颜色将与第 4 和第 5 相同(如果有 3 种替代颜色)
ListTile(
leading: CircleAvatar(
radius: 25,
backgroundColor:Colors.red
有什么想法可以帮忙吗?
试试这个:
int i = 0;
ListView(...
Color c = Colors.red;
if(i == 0) i++;
else if(i == 1) {
c = Colors.blue;
i++;
} else if(i == 2) {
c = Colors.yellow;
i = 0;
}
ListTile(
leading: CircleAvatar(
radius: 25,
backgroundColor: c
1,2 和 4,5 的交替逻辑让我有点困惑,但据我了解,您可以使用构建器索引来更改颜色。像这样:
ListView.builder(
itemCount: dummyList.length,
itemBuilder: (context, index) => ListTile(
leading: CircleAvatar(
radius: 25,
backgroundColor: [1,2,4,5].contains(index) ? Colors.red : Colors.blue
),
),
);
您可能需要根据需要更改逻辑。例如,只有最后两个的颜色是:
[dummyList.length - 1, dummyList.length].contains(index) ? Colors.red : Colors.blue
或者偶数为
(index % 2) == 0 ? Colors.red : Colors.blue
试试下面的代码,希望它能帮助你改变值,比如你需要的 0 和 1 以及颜色:
//declare one varibale
var lead;
backgroundColor: (lead == '0')? Colors.blue: (lead == '1')? Colors.red: Colors.green,