这是资产my_earth.jpg的文件夹结构。这是我用来获取资产的代码
DecoratedBox(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/image/my_earth.jpg'),
),
),
)
这是我在pubspec.yaml中的资产声明
资产: -资产/图片/ -资产/视频/
Q:仅显示主要资产,而不显示变体。主要资源的大小为10x10,当我在iPad Simulator中运行它时,它的大小为10x10。我认为它可能会选择变体(大小如下:16x16-> 1.0x,20x20 ---> 2.0x,29x29 ---> 3.0x等)。当我使用原始的1024x1024时,显示为1024x1024。对于如何利用此Asset Image Loader及其变体提供多设备支持,我感到困惑(因为ios需要1x(不推荐使用,因为现在几乎所有设备都支持Retina),2x和3x,而android需要dbpi文件夹中分发的4种格式的图像
请协助我了解我在做什么错?
答案 0 :(得分:1)
AFAIK,没有开箱即用的规定来根据操作系统和设备类型指定资产路由。参考评论中的答案,这是答案:
您必须明确指定路径。我的意思是,您必须检测设备类型,屏幕尺寸等,然后指定确切的路径。例如,在我的一个应用程序中,我在资产目录中有三个json文件用于语言本地化。根据用户的选择,我指出了正确的路径
String jsonContent = await rootBundle
.loadString("assets/locale/localization_${locale.languageCode}.json");