gpt4 book ai didi

image - Flutter CircleAvatar-将Image对象用作(背景)图像/将其类型转换为ImageProvider

转载 作者:行者123 更新时间:2023-12-03 03:16:05 24 4
gpt4 key购买 nike

我试图在我的应用程序主屏幕顶部显示CircleAvatar,但是遇到了一个非常愚蠢的问题。我无法弄清楚如何提供Image类(它是用户的属性)的对象作为ImageProvider,即CircleAvatar expects。有没有一种简单的方法可以在此处进行“类型转换”,或者人们可以通过其他方式解决此问题?

class _HomePageState extends State<PictureShowcaseHome>{
Appuser appuser = new Appuser();
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
leading: InkWell(
child: CircleAvatar(
backgroundImage: appuser.img,
child: Text(appuser.name.substring(0,1).toUpperCase()),
) ,
),

...

为简化起见,假设 Appuser仅具有以下属性:
class Appuser{
String name;
Image img;
Appuser(){
this.name = "Unknown user";
this.img = Image.asset('assets/imgs/default1.jpg');
}
}

我的想法是, Assets 中包含一个默认图像,但是用户可以用自己的图像替换它(似乎是一个非常标准的想法)。我考虑过在 AssetImage img;的构造函数中切换到 img = new AssetImage('assets/imgs/default1.jpg');Appuser,但是这种情况似乎倒退了。当我在用户信息详细信息页面上显示用户图像(我想到只是具有 ListTile( title: appuser.img,),)或让用户用相机拍摄新的用户图片时,这也使我陷入“对立”问题。为此,最简单的方法是直接使用 Image类而不是 AssetImage类的对象。

还是我以某种错误的方式看待这个问题?

最佳答案

这个

Image.asset('assets/imgs/default1.jpg').image 

应该管用。

为了清楚起见,Image类具有ImageProvider属性。只要将.image与任何给定的Image类一起使用,即可获取ImageProvider。这适用于Image.asset,.file,.network和.memory

关于image - Flutter CircleAvatar-将Image对象用作(背景)图像/将其类型转换为ImageProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58408593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com