我想做点什么
/Users/novalagung/Documents/go/src/test-import/lib/
我正在寻找的视觉效果就像gmail显示用户图像的方式。此代码 - 来自文档 - 工作正常,但我的图像应该从网址加载,而不在资产中。
答案 0 :(得分:46)
NetworkImage
是您正在寻找的课程。
valueString = string.Join(",", valueString.Split(',')
.Select(x => x.Trim())
.Where(x => !string.IsNullOrWhiteSpace(x))
.ToArray())
答案 1 :(得分:5)
Flutter已经提供了CircleAvatar
小部件。
Container(
width: 100,
child: CircleAvatar(
radius: 50,
backgroundImage: ExactAssetImage('assets/images/restaurant.jpg'),
),
decoration: new BoxDecoration(
shape: BoxShape.circle,
border: new Border.all(
color: Colors.red,
width: 4.0,
),
),
),
答案 2 :(得分:4)
CircleAvatar(
radius: 30,
backgroundColor: Colors.white,
child: CircleAvatar(
radius: 28,
backgroundImage: AssetImage('images/avatar.jpg'),
),
)
答案 3 :(得分:2)
非常简单的技巧:p
CircleAvatar(
radius: 55,
backgroundColor: Color(0xffFDCF09),
child: CircleAvatar(
radius: 50,
backgroundImage: AssetImage('assets/images/boy.png'),
),
),
答案 4 :(得分:0)
Container(
height: 150.0,
width: 150.0,
child: Padding(
padding: EdgeInsets.all(15),
child: CircleAvatar(
backgroundColor: Colors.transparent,
radius: 10,
child: new Image.asset('images/logo.png'),
)),
decoration: new BoxDecoration(
shape: BoxShape.circle,
border: new Border.all(
color: Colors.indigo,
width: 2.0,
),
));
答案 5 :(得分:0)
按照flutter社区的建议使用fadeInImage来显示来自网络的图像,并封装在带有边框装饰的容器中
Widget getCircularImage(double size) { return Container( width: size, height: size, decoration: BoxDecoration( color: const Color(0xff7c94b6), borderRadius: new BorderRadius.all(new Radius.circular(size / 2)), border: new Border.all( color: Colors.white, width: 4.0, ), ), child: ClipOval(child: FadeInImage.assetNetwork( fit: BoxFit.cover, placeholder: widget.placeholderUrl, image: widget.imageUrl)), ); }
答案 6 :(得分:0)
简单而新鲜的响应..!
使用两个CircleAvatar。 代码和屏幕截图示例:
CircleAvatar(
backgroundColor: Colors.white,
radius: 60.0,
child: CircleAvatar(
backgroundImage: AssetImage('images/darth_vader.jpg'),
radius: 50.0,
),
),
有关其他问题: @canerkaseler
答案 7 :(得分:0)
如果你使用 CircleAvatar 没有给出半径,你可以这样使用。
CircleAvatar(
backgroundColor: Colors.white, //border color
child: Padding(
padding: const EdgeInsets.all(2.0), //border size
child: CircleAvatar(
backgroundImage: Image.asset("image.png"),
),
),
),
答案 8 :(得分:-2)
使用 avatar_view 库,它提供了以圆形/矩形形式显示网络/资产图像的功能。
使用添加下面的依赖
示例:
AvatarView(
radius: 60,
borderWidth: 8,
borderColor: Colors.yellow,
avatarType: AvatarType.CIRCLE,
backgroundColor: Colors.red,
imagePath:
"https://images.pexels.com/photos/415829/pexels-photo-415829.jpeg?cs=srgb&dl=pexels-pixabay-415829.jpg",
placeHolder: Container(
child: Icon(Icons.person, size: 50,),
),
errorWidget: Container(
child: Icon(Icons.error, size: 50,),
),
),
输出: