这是【Flutter 问题系列第 55 篇】,如果觉得有用的话,欢迎关注专栏。
安卓手机的分辨率各式各样,如果不考虑增加包体的情况下,应为不同分辨率的手机提供相应的 UI 套图,在 Flutter 中你可以这样做。
如何实现
在 Flutter 项目中新增 assets/images/
文件夹,当然,不一定非得是这个名称。
然后在 images 文件夹下再新建 2.0x
和 3.0x
文件夹,分别用来存储 2 倍图和 3 倍图,1 倍图的直接放到 images 文件夹下即可,如下图所示
然后在 pubspec.yaml
配置文件中添加如下代码
assets:
- assets/images/
最后在终端执行 flutter pub get
命令即可,Flutter 会根据当前屏幕的分辨率自动加载相应的图片。
扩展:mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi
我们知道,在 Android 项目中,以 mipmap
开头的文件夹是用来放应用图标的,而在每一个 mipmap 文件夹的最后面,会有一个 dpi
小尾巴,如下图所示
不同的 dpi 代表什么意思呢?这里我整理出了一个表格,供大家参考。
分辨率
分辨率名 | 屏幕分辨率 | dp、px 关系 |
---|---|---|
ldpi | 240x320 | 1dp = 0.75px |
mdpi | 320x480 | 1dp = 1px |
hdpi | 480x800 | 1dp = 1.5px |
xhdpi | 720x1280 | 1dp = 2px |
xxhdpi | 1080x1920 | 1dp = 3px |
xxxhdpi | 2160x3840 | 1dp = 4px |
你的问题得到解决了吗?欢迎在评论区留言。
赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。
Google 的 Flutter 越来越火,截止 2022年1月7日 GitHub 标星已达 134K,Flutter 毅然是一种趋势,所以作为前端开发者,没有理由不趁早去学习。
结束语
无论你是 Flutter 新手还是已经入门了,不妨先点个关注,后续我会将 Flutter 中的常用组件(含有源码分析、组件的用法及注意事项)以及可能遇到的问题写到 CSDN 博客中,希望自己学习的同时,也可以帮助更多的人。