在原生ios和原生android中,可以使用1x、2x、3x图像以及mdpi、xdpi等图像大小。对于flutter应用程序,如何管理?
如果我使用所有这些大小,应用程序的大小将是巨大的,也很难管理。否则,如果我只对不同的设备大小使用1x大小,它将被缩小或模糊。
有人能给我建议解决这个问题的办法吗?
更新的问题:对于每一张图片,我可以要求我的UI/UX设计师为ios和android提供哪些尺寸?
如果你不使用互联网,将pngs或jpgs转换为webp,因为它的大小比其他的小。这对你来说可能是个好办法。
要么有脱机映像,要么从网络加载。你只需要在屏幕大小上管理它。
您可以为图像或父窗口小部件提供自定义的高度和宽度,以显示相应的屏幕分辨率。
以下是获取宽度和高度的不同方法。
获取width
很容易,但height
可能很棘手,以下是处理height
的方法
// Full screen width and height
double width = MediaQuery.of(context).size.width;
double height = MediaQuery.of(context).size.height;
// Height (without SafeArea)
var padding = MediaQuery.of(context).padding;
double height1 = height - padding.top - padding.bottom;
// Height (without status bar)
double height2 = height - padding.top;
// Height (without status and toolbar)
double height3 = height - padding.top - kToolbarHeight;
您可以使用宽度/2或/3作为图像的宽度,也可以使用宽度和高度。它也适用于Android、iOS或其他平台。
如果你有任何问题,请告诉我。