Flutter 我的颤振代码在模拟器上不起作用。手势检测器没有';我似乎没有察觉到这些手势
我尝试了各种方法,代码中似乎没有错误。我也检查了颤振医生,但仍然没有得到任何结果。有人能帮我吗,我是个编码初学者。 我想我的set state类有一些问题,但是终端窗口中没有显示任何内容。请帮我解决这个问题,我在谷歌上找不到任何可以回答我问题的东西 这是我的密码Flutter 我的颤振代码在模拟器上不起作用。手势检测器没有';我似乎没有察觉到这些手势,flutter,setstate,gesturedetector,Flutter,Setstate,Gesturedetector,我尝试了各种方法,代码中似乎没有错误。我也检查了颤振医生,但仍然没有得到任何结果。有人能帮我吗,我是个编码初学者。 我想我的set state类有一些问题,但是终端窗口中没有显示任何内容。请帮我解决这个问题,我在谷歌上找不到任何可以回答我问题的东西 这是我的密码 class InputPage extends StatefulWidget { @override InputPageState createState() => InputPageState(); } class
class InputPage extends StatefulWidget {
@override
InputPageState createState() => InputPageState();
}
class InputPageState extends State<InputPage> {
Color maleCardColor = inactiveCardColor;
Color femaleCardColor = inactiveCardColor;
void updateColor ( int gender) {
// male was pressed
if (gender == 1) {
if (maleCardColor == inactiveCardColor) {
maleCardColor = activeCardColor;
} else {
maleCardColor = inactiveCardColor;
}
}
if (gender == 2) {
if (femaleCardColor == inactiveCardColor) {
femaleCardColor = activeCardColor;
} else {
femaleCardColor = inactiveCardColor;
}
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color(0xFF10A0E21),
appBar: AppBar(
title: Text("BMI CALCULATOR",
),
backgroundColor: Colors.black,
centerTitle: true,
),
body: Column(
children: [
Expanded(
child: Row(
children: [
Expanded(
child: GestureDetector(
onTap: () {
setState(() {
updateColor(1);
});
},
child: ReusableCard(
cardColor:inactiveCardColor,
cardChild: IconContent(
iconImage: FontAwesomeIcons.mars,
iconText: "MALE",) ,
),
),
),
Expanded(
child:GestureDetector(
onTap: (){
setState(() {
updateColor(2);
});
},
child:ReusableCard(cardColor:inactiveCardColor,
cardChild:
IconContent(iconImage:FontAwesomeIcons.venus,
iconText: "FEMALE",),
),
),`enter code here`
),
],
),
),
class InputPage扩展StatefulWidget{
@凌驾
InputPageState createState()=>InputPageState();
}
类InputPageState扩展状态{
Color maleCardColor=INACTIVERCARDCOLOR;
Color femaleCardColor=INACTIVERCARDCOLOR;
void updateColor(int性别){
//男性被压迫
如果(性别==1){
if(maleCardColor==inactiveCardColor){
maleCardColor=activeCardColor;
}否则{
maleCardColor=INACTIVERCARDCOLOR;
}
}
如果(性别==2){
if(femaleCardColor==inactiveCardColor){
femaleCardColor=activeCardColor;
}否则{
femaleCardColor=inactiveCardColor;
}
}
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
背景颜色:颜色(0xFF10A0E21),
appBar:appBar(
标题:文本(“体重指数计算器”,
),
背景颜色:Colors.black,
标题:对,
),
正文:专栏(
儿童:[
扩大(
孩子:排(
儿童:[
扩大(
儿童:手势检测器(
onTap:(){
设置状态(){
更新颜色(1);
});
},
儿童:可重用卡(
cardColor:VectorCardColor,
卡片儿童:IconContent(
iconImage:FontAwesomeIcons.mars,
iconText:“男性”,
),
),
),
扩大(
儿童:手势检测器(
onTap:(){
设置状态(){
更新颜色(2);
});
},
子项:可重用卡(cardColor:inactiveCardColor,
卡片儿童:
IconContent(图标图像:FontAwesomeIcons.venus,
iconText:“女性”,
),
),`在此处输入代码`
),
],
),
),
使用setState更改状态
if (gender == 2) {
if (femaleCardColor == inactiveCardColor) {
setState((){
femaleCardColor = activeCardColor;
});
} else {
setState((){
femaleCardColor = inactiveCardColor;
});
}
}
并从这里删除setState
setState(() {
updateColor(2);
});
使用真正的设备使用
断点
查看并更改应用程序的确切流程。请参阅此