【发布时间】:2021-11-13 17:46:12
【问题描述】:
我想知道如何在用户单击(onTap)标记后更改标记的颜色
【问题讨论】:
我想知道如何在用户单击(onTap)标记后更改标记的颜色
【问题讨论】:
首先,确保您所在的类扩展了 StatefulWidget,因为这是该类知道如何在发生变化时重新呈现和显示新内容的方式。
接下来假设你想从蓝色标记变为红色,你需要声明一个状态变量:
final bool _showBlue = true;
然后,在你设置标记颜色的地方你可以这样做:
color: _showBlue ? Colors.blue : Colors.red,
表示如果_showBlue为真则颜色为蓝色,否则为红色。
然后您的 onTap 会将 _showBlue 的状态更改为 false 以确保在重新渲染中颜色将显示为红色:
onTap: () {
setState(() {
_showBlue = false;
});
}
【讨论】: