gpt4 book ai didi

Flutter:如何使用 getX 更改文本颜色?

转载 作者:行者123 更新时间:2023-12-02 02:07:04 25 4
gpt4 key购买 nike

我想在单击图 block 时更改 ListTile 文本的颜色,我该怎么做,而且颜色应该只针对特定的选定图 block 更改。我的方法如下:

ListView.builder(
itemCount: _antigen.plantAntigens.length,
itemBuilder: (BuildContext cntxt, int index) {
return ListTile(
title: Text(
_antigen.plantAntigens[index],
style: TextStyle(
color: controller.isSelected ? Colors.red : Colors.black87),
),
onTap: () {
controller.toogle();
});
},
),

Controller 代码如下:

bool isSelected = false.obs;

toogle() {
isSelected = !isSelected;
}

最佳答案

只需在您的 Controller 中创建一个列表来存储所选索引

  var plantAntigensSelected = [].obs;

toogle(int index) {
if (plantAntigensSelected.contains(index)) {
plantAntigensSelected.remove(index);
} else {
plantAntigensSelected.add(index);
}
}

你的 ListView 是这样的

     ListView.builder(
itemCount: plantAntigens.length,
itemBuilder: (BuildContext cntxt, int index) {
return ListTile(
title: Obx(
() => Text(
plantAntigens[index],
style: TextStyle(
color:
controller.plantAntigensSelected.contains(index)
? Colors.red
: Colors.black87),
),
),
onTap: () {
controller.toogle(index);
});
},
)

关于Flutter:如何使用 getX 更改文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68293856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com