我有下面的代码,启动图像选择器从画廊选择图像.
File _image;
final picker = ImagePicker();
Future getImage() async {
final pickedFile = await picker.getImage(source: ImageSource.gallery);
setState(() {
_image = File(pickedFile.path);
});
}
选择图像后,我希望该图像显示在已经存在的CircleAvatar
中。调用上述方法getImage(),如下所示:
InkWell(
onTap: getImage,
child: CircleAvatar(
backgroundColor: Colors.black,
radius: 40.0,
child: CircleAvatar(
radius: 38.0,
child: ClipOval(
child: Image.asset('images/newimage.png'),
),
backgroundColor: Colors.white,
),
)
),
我有一个ClipOval
,它是CircleAvatar
的子级,并且有一个默认的AssetImage作为其子级。我不知道如何将此占位符图像替换为从库中选取的图像!如有任何帮助,我们将不胜感激。
9条答案
按热度按时间mum43rcc1#
您可以使用
CircleAvatar
并提供文件对象。.image
将为您提供所需的ImageProvider。gpnt7bae2#
您可以使用
_image
变量检查它是否为空,然后相应地在ClipOval
中设置图像。eivgtgni3#
你必须在ClipOval的子元素中使用_image。这是可行的。你也可以添加一个null或empty的检查。
j1dl9f464#
这是如此简单。只需要把你的文件放进
FileImage
,然后嵌入到CircleAvatar小部件的backgroundImage
中。3qpi33ja5#
11dmarpk6#
您可以像这样使用CircleAvatar小部件
xoshrz7s7#
如果想在circleAvtar的backgorundImage属性中存储图像,那么下面的代码是最好的:
x1月1x)
ha5z0ras8#
您可以使用ClipPath小部件轻松实现
mw3dktmi9#
使用背景图像