【发布时间】:2020-01-02 01:35:58
【问题描述】:
我正在尝试创建一个圆形图像按钮。为此,我在容器中放置了一个 FlatButton,将图像作为按钮的子元素。
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'User info',
style: Constants.HEADING_STYLE,
),
Container(
child: FlatButton(
child: getImageWidget(imageUrl),
shape: new CircleBorder(),
onPressed: () {
setState(() async {
imageUrl = await uploadImage();
});
},
),
width: 100.0,
height: 100.0,
),
Form(
key: _nameFormKey,
child: Column(
children: <Widget> [
TextFormField(
decoration: const InputDecoration(
hintText: 'Username',
),
validator: validateName,
onChanged: (name) { this.username = name;},
),
],
),
),
RaisedButton(
child: Text('Next'),
onPressed: () async {
isUnique = await isUsernameUnique(username);
if(_nameFormKey.currentState.validate()) {
saveUserName();
}
} ,
),
],
),
),
),
);
}
Widget getImageWidget(imagePath) {
if(imagePath == null || imagePath == "") {
return FittedBox(
child: Image(
image: AssetImage('assets/no_image.png'),
),
fit: BoxFit.fill,
);
} else {
return FittedBox(
child: Image.network(
imagePath,
),
fit: BoxFit.fill,
);
}
}
但由于某种原因,图像根本没有出现。然而,该按钮是正确的形状,并在按住和点击时做出响应。我尝试将图像直接移动到列中,但它仍然没有显示。我究竟做错了什么?谢谢。
【问题讨论】:
标签: flutter