Dart 当按下另一个按钮时,是否更改一个按钮的颜色?
布局中有四个Dart 当按下另一个按钮时,是否更改一个按钮的颜色?,dart,flutter,flutter-layout,Dart,Flutter,Flutter Layout,布局中有四个MaterialButton,我想在按下其中一个按钮时更改所有按钮的颜色。其中两个用一种颜色,另外两个用另一种颜色。如何操作?只需调用setState()并使用不同的颜色即可 以下是一个例子: import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(Build
MaterialButton
,我想在按下其中一个按钮时更改所有按钮的颜色。其中两个用一种颜色,另外两个用另一种颜色。如何操作?只需调用setState()
并使用不同的颜色即可
以下是一个例子:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
Color color1 = Colors.blue;
Color color2 = Colors.blue;
void _changeColor() {
setState(() {
color1 = Colors.red;
color2 = Colors.green;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Test"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'Buttons',
),
],
),
),
floatingActionButton: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
FloatingActionButton(
backgroundColor: color1,
onPressed: _changeColor,
child: Icon(Icons.refresh),
),
FloatingActionButton(
backgroundColor: color1,
onPressed: _changeColor,
child: Icon(Icons.refresh),
),
FloatingActionButton(
backgroundColor: color2,
onPressed: _changeColor,
child: Icon(Icons.refresh),
),
FloatingActionButton(
backgroundColor: color2,
onPressed: _changeColor,
child: Icon(Icons.refresh),
),
],
),
);
}
}
导入“包装:颤振/材料.省道”;
void main()=>runApp(MyApp());
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
主页:MyHomePage(),
);
}
}
类MyHomePage扩展StatefulWidget{
@凌驾
_MyHomePageState createState()=>\u MyHomePageState();
}
类_MyHomePageState扩展状态{
Color color1=Colors.blue;
Color color2=Colors.blue;
void _changeColor(){
设置状态(){
color1=Colors.red;
color2=Colors.green;
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“测试”),
),
正文:中(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
正文(
“按钮”,
),
],
),
),
浮动操作按钮:行(
mainAxisSize:mainAxisSize.min,
儿童:[
浮动操作按钮(
背景颜色:彩色1,
按下时:_changeColor,
子:图标(Icons.refresh),
),
浮动操作按钮(
背景颜色:彩色1,
按下时:_changeColor,
子:图标(Icons.refresh),
),
浮动操作按钮(
背景颜色:彩色2,
按下时:_changeColor,
子:图标(Icons.refresh),
),
浮动操作按钮(
背景颜色:彩色2,
按下时:_changeColor,
子:图标(Icons.refresh),
),
],
),
);
}
}