更改 Material 按钮颜色 onPress 并返回默认的 onLongPress
Change Material button color onPress and back to default onLongPress
嗨,我对 Flutter 还是个新手,但我想制作一个非常简单的应用程序。
此应用包含 30 个按钮,每个按钮都位于自己的容器中。要遵循的代码。我想做的是,如果按下一个按钮,它会变成橙色,然后如果它被长按,它会恢复到默认的白色。有人可以解释如何做到这一点。这是一个只有 1 个按钮的示例。
Container(
width: 65,
height: 65,
child: MaterialButton(
shape: CircleBorder(
side: BorderSide(
width: 5,
color: Colors.blue[900],
style: BorderStyle.solid)),
child: Text(
"1",
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
),
color: Colors.white,
textColor: Colors.black,
onPressed: () {
setState(() {
color:
Colors.orange;
});
},
onLongPress: (){
setState(() {
color:
Colors.white;
});
},
),
),
提前致谢
//declare color variable
Color myColor=Colors.white;
//set myColor to material button
color:myColor;
//in setstate use it like this
setState({
myColor=Colors.white; or myColor=Colors.orange;
})
首先定义一个颜色
Color buttonColor = Colors.white;
然后将此颜色传递给您的按钮
MaterialButton(color: buttonColor)
在此之后,在你的 onPressed 函数中
onPressed: () {
setState(() {
buttonColor =
Colors.orange;
});
},
嗨,我对 Flutter 还是个新手,但我想制作一个非常简单的应用程序。
此应用包含 30 个按钮,每个按钮都位于自己的容器中。要遵循的代码。我想做的是,如果按下一个按钮,它会变成橙色,然后如果它被长按,它会恢复到默认的白色。有人可以解释如何做到这一点。这是一个只有 1 个按钮的示例。
Container(
width: 65,
height: 65,
child: MaterialButton(
shape: CircleBorder(
side: BorderSide(
width: 5,
color: Colors.blue[900],
style: BorderStyle.solid)),
child: Text(
"1",
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
),
color: Colors.white,
textColor: Colors.black,
onPressed: () {
setState(() {
color:
Colors.orange;
});
},
onLongPress: (){
setState(() {
color:
Colors.white;
});
},
),
),
提前致谢
//declare color variable
Color myColor=Colors.white;
//set myColor to material button
color:myColor;
//in setstate use it like this
setState({
myColor=Colors.white; or myColor=Colors.orange;
})
首先定义一个颜色
Color buttonColor = Colors.white;
然后将此颜色传递给您的按钮
MaterialButton(color: buttonColor)
在此之后,在你的 onPressed 函数中
onPressed: () {
setState(() {
buttonColor =
Colors.orange;
});
},