这是一个测试,如果子容器为绿色,则父窗口小部件将变为绿色。
它们一开始都是蓝色的,当单击子项时,它们都应该变成绿色。
当孩子被按下时,它会改变颜色。
class ColoredSquare extends StatelessWidget {
ColoredButton button = ColoredButton();
@override
Widget build(BuildContext context) {
return Scaffold(body: Column(children: [
button,
Container(width: 50, height: 50, color: button.color == Colors.blue ? Colors.blue : Colors.green,)]
) );
}
}
class ColoredButton extends StatefulWidget {
Color color = Colors.blue;
@override
_TestState createState() => _ColoredButtonState();
}
class _ColoredButtonState extends State<Test> {
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: (){setState(() {
widget.color = Colors.green;
});}
,child: Container(width: 50, height: 50, color: widget.color,));
} …Run Code Online (Sandbox Code Playgroud)