为iPhone开发时,在Xcode / Swift中有一个资产文件,您可以在其中添加应用程序将使用的1、2和3x大小的所有图标。我可能还不知道与Android类似的事情。
为Flutter开发时:
如果您知道教程或网页,请告诉我!我发现的唯一对象仅用于应用程序图标和启动屏幕。
谢谢
答案 0 :(得分:2)
只需查看有关分辨率识别图像的官方文档即可。 这是基于设备像素比率的。
这里有一个有关文件结构的示例。
.audio-caption-background
这就是您必须将资产文件声明到 .../pubspec.yaml
.../icons/heart.png
.../icons/1.5x/heart.png
.../icons/2.0x/heart.png
pubspec.file
这是链接:https://flutter.io/docs/development/ui/assets-and-images#declaring-resolution-aware-image-assets
答案 1 :(得分:0)
要添加到@diegoveloper答案中。
某些插件(如google-maps)不符合该标准,因此要求您调用BitmapDescriptor.fromAsset('icons / heart.png'),该插件不会转换为正确的图像。在这种情况下,您可以通过首先使用here定义的BuildContext通过createLocalImageConfiguration从AssetImage获取正确的图像。然后使用此配置来解析正确的图像,如下所示:
ImageConfiguration config = createLocalImageConfiguration(context);
AssetImage('icons/heart.png')
.obtainKey(config)
.then((resolvedImage) {
print('Name: ' + resolvedImage.onValue.name);
});
总结
使用convention命名创建资产文件夹:
pathtoimages/image.png
pathtoimages/Mx/image.png
pathtoimages/Nx/image.png
pathtoimages/etc.
其中M和N是分辨率(2.0x)或主题(暗)。 然后将图像或所有图像作为
添加到pubspec.file中。flutter:
assets:
- pathtoimages/image.png
或
flutter:
assets:
- pathtoimages/
根据所使用的库,使用AssetImage('pathtoimages / image.png')或将其解析为如上所述的实际文件名来加载图像。