我想在触摸按钮时更改按钮图片。
我尝试了几种方法,但徒劳无功。
我认为这是一个非常基本的问题,虽然有很多样本可以设置初始图像,但找不到动态分配的方式。
@override
Widget build(BuildContext context) {
Image imgLevel = Image.asset('images/LL_Normal.png');
FlatButton fbLevelBtn =
new FlatButton(
onPressed: (){
debugPrint("test ok”);
imgLevel = Image.asset('images/LL_Hard.png'); // it doesn’t work..
this.child = Image.asset('images/LL_Hard.png'); // it doesn’t work..
},
padding: EdgeInsets.all(0.0),
child: imgLevel
);
答案 0 :(得分:1)
改为在build方法中更改图片:
bool isPressed = false;
@override
Widget build(BuildContext context) {
Image imgLevel = isPressed ? Image.asset('images/LL_Normal.png') : Image.asset('images/LL_Hard.png');
FlatButton fbLevelBtn =
new FlatButton(
onPressed: (){
debugPrint("test ok”);
setState(() => {isPressed = true});
},
padding: EdgeInsets.all(0.0),
child: imgLevel
);
答案 1 :(得分:0)
按下按钮会发生什么?因为似乎您缺少setstate函数