gpt4 book ai didi

android - Flutter - GestureDetector onTapDown 颜色变化

转载 作者:IT王子 更新时间:2023-10-29 06:59:23 33 4
gpt4 key购买 nike

我确实想在我的底部工作表中实现一个手势检测器,它应该在调用 onTapDownonTapCancel 函数时更改容器的颜色 >手势检测器。但是这个功能并没有改变任何东西。我还将下面的代码放在 StatefulWidget 中,这样我就可以调用 setState((){})

这是我的代码:

bool enabled = false;
return InkWell(
child: Container(
child: Row(
children: <Widget>[
Padding(
padding: EdgeInsets.only(top: 16.0, bottom: 16.0, left: 30.0),
),
Text(
text,
style: TextStyle(
color: (enabled
? textColor
: Colors.black54
),
fontWeight: FontWeight.bold
),
)
],
),
decoration: BoxDecoration(
color: (enabled
? background
: Colors.transparent
)
),
),
onTapDown: (TapDownDetails details){
setState(() {
enabled = true;
});
},
onTapCancel: (){
setState(() {
enabled = false;
});
},
onTap: (){
String r_value;
if(text == sheetText[0]){
r_value = "delete";
} else if(text == sheetText[1]){
r_value = "edit";
} else if(text == sheetText[2]){
r_value = "notification";
} else {
return;
}
Navigator.pop(context, r_value);
},
);

我希望有人能够帮助我。

最佳答案

从您的 build 方法中删除 bool enabled = false;,因为每次您调用 setState 时它都会有相同的值。

将您的 enabled 变量更改为实例字段。

    class YourClass ...

bool enabled = false;

..
@override
Widget build(BuildContext context) {

关于android - Flutter - GestureDetector onTapDown 颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53750322/

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