我们在上一章回中介绍了屏幕适配相关的内容,本章回中将介绍flutter_screenutil包,该包主要用来实现屏幕适配.闲话休提,让我们一起Talk Flutter吧。
概念介绍
我们在本章回中介绍的包是flutter_screenutil,它主要用来做屏幕和字体大小的适配,它的实现原理和我们在上一章回中介绍的屏幕适配核心思想一样,这点可以通过该包的源代码看出来。不过该包可以自行选择屏幕宽度或者高度来适配,而且还支持字体大小适配,这对于可以调整字体大小的手机来说非常适用。
此外,该包是国人写的,在dar的仓库中很受欢迎,现在我越来越感受到国内软件的成熟,也希望国内软件发展的越来越好。
使用方法
- 在yaml格式的配置文件中引入flutter_screenutil包,并且获取到当前工程中;
- 创建ScreenUtilInit类型对象,主要是给该类的designSize和builder属性赋值;
- 在其它组件中使用w,h方法适配屏幕上的尺寸,w表示使用屏幕宽度做适配,h表示使用屏幕高度做适配;
上面的步骤看着简单,不过还有一些细节需要说明:
- builder属性是必选属性,它主要用来创建组件,组件中的任何地方都可以使用该包中的方法实现适配。因此该包通常位于顶层组件中,或者说位于Widget树的根结点上,其位置和provider所在的位置类似。
- designSize属性是可选属性,建议把UI设计稿中的基准尺寸赋值给它。如果不给它赋值,那么使用默认值
360*690. - 该包提供的w,h方法是getter方法,使用十分方便,这些方法是在基础类型上扩展(extension)出的方法,刚开始使用时不理解,看一下它的源代码就能明白其中的原理(后面章回中会介绍)。

本文介绍了flutter_screenutil库在Flutter中的屏幕和字体大小适应功能,包括原理、使用方法(如在YAML配置中引入,设置designSize和builder属性),以及与原生平台适配方法的比较。作者分享了在App开发中的经验和使用示例。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



