我试图在我的导航菜单上创建一个悬停效果,我的方法是创建布尔列表,只要我的导航菜单项和初始假值,然后当一个菜单项悬停改变颜色时,我的问题是从inkwell悬停函数的值参数打印出正确的值控制台,但它不影响我的菜单项颜色,有什么建议吗?当我运行它时,它仍然是红色的,悬停没有效果
final List hover = [false, false, false, false, false];
InkWell(
onHover: (value) {
setState(() {
value ? hover[1] = true : hover[1] = false;
});
},
onTap: () {},
child: Text('Org Chart',
style: TextStyle(
color: hover[1] ? Colors.black : Colors.red))),
您确定在构建方法中没有hover
变量吗?确保它是StatefulWidget的正确状态变量。我还建议删除final
注释,因为您想在悬停时更改它。你也可以像这样简化你的代码:
setState(() {
hover[1] = value;
});