
正文
flutter设置默认字体 flutter我的设置界面
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Flutter TextField 长按出现的 ”复制/粘贴“文字改为中文
文字默认是英文,需要设置 Flutter 国际化来处理
在 pubspec.yaml 中集成 flutter_localizations
然后在 main.dart --- MaterialApp 中设置本地化代理和支持的语言类型
我最开始的时候没加,在iOS上长按会报错,需要加上这一行
如果 pubspec.yaml 集成插件因为版本问题报错,自己又不知道使用哪个版本,可以使用any集成,它会自己寻找合适的版本
相关问答
Q1: 3. Flutter - 基础组件 之 Text
Text继承自 StatelessWidget ,Text 主要通过设置 文本布局 及 文本样式 控制显示方式。
1. 文本布局: 例如文本对齐方式 textAlign 、文本排版方向 textDirection ,文本显示最大行数 maxLines 、文本截断规则 overflow 等等
2 文本样式: 如字体名称 fontFamily 、字体大小 fontSize 、文本颜色 color 、文本阴影 shadows 等等,这些参数被统一封装到了构造函数中的参数 style(TextStyle) 中
在iOS中,我们可以使用NSAttributedString进行富文本设置。在Flutter中 我们可以通过 Text.rich() 或 RichText() 进行富文本设置。
两者均为 InlineSpan 类型, InlineSpan 为抽象类。
抽象类不能直接实例化。Flutter已为我们提供了
且 WidgetSpan 继承自 PlaceholderSpan
Q2: Android原生和Flutter使用过程的差异对比(一)
1、界面搭建过程中各种大小单位
Android:通常采用dp设置View宽高(和px像素的换算关系是dp值 × density逻辑密度),sp设置字体大小(会随着系统字体设置的大小而改变)。
Flutter:没有具体的大小单位描述, 和尺寸相关的MediaQueryData类中较为重要的几个值如下:
(一)devicePixelRatio(设备像素比),对应Android中的density
(二)size.width和height,设备的逻辑像素宽高,并非绝对物理像素(例如iphone6的设备像素比是2,通过size获取到的逻辑像素宽高为375 × 667,实际物理像素则为750 × 1334,即分辨率)
(三)textScaleFactor:单位逻辑像素字体像素数,默认为1,设置成1.5则字体变大50%,如果想让Text组件的字体大小不随系统设置的变化而变化,需将这个值设定成固定值1
UI适配解决方案:
1、采用ScreenUtil插件,初始化时候传入设计稿大小,当发现一屏显示的大小有差异时候采用插件提供的setWidth和setHeight来设置具体的宽高(会根据设计稿大小和实际设备逻辑像素宽高比进行缩放)。
2、TextButton、Text等按钮和文本组件,通过设置字体大小和内边距来控制整体的宽高,而非固定其宽高。
2、本地资源文件的引用方式
Android:图片通常存放在res/mipmap或res/drawable下,不同分辨率对应不同后缀名,如mipmap-hdpi、mipmap-xhdpi
Flutter:需在pubspec.yaml中配置,如下图所示
如果只配置父级目录例如(assets/images/common_status)则无法再存放不同尺寸的图片。不同尺寸的图片需建立对应的2.0x、3.0x目录后存放,设备在读取时候会自行根据分辨率去找对应的图片,弊端是每有一张图片就需在pubspec.yaml文件中声明这些图片
Q3: Flutter实践--屏幕适配
做移动端开发的小伙伴都知道,针对不同型号和尺寸的手机要进行页面适配,且Android和iOS适配方案各不相同,那flutter端如何进行适配呢?以下为近期flutter开发过程中关于适配的一些学习和记录~~~~
说到flutter屏幕适配,就不得不提到插件 flutter_screenutil ,提到flutter_screenutil就不得不说以下几点🥶
默认宽1080px
默认高1920px
allowFontScaling为false,即不跟随系统字体大小设置变化
初始化单位为px
需要把context传进去,因为内部是通过 MediaQuery 来获取屏幕尺寸等相关信息的
无需再传context,因为内部是通过单例 window 来获取屏幕尺寸等相关信息的
作为iOS开发,之前都是以pt为参照进行比例适配的,且架构组已经定义了一套适配相关常量,传px进去不太方便,所以需要对flutter_screenutil进行扩展
公司设计图是以iPhone X的尺寸提供的即物理设备尺寸为375x812,像素比例为750x1624,像素密度比为2
初始化仍用px来初始化
dart sdk 2.7正式支持 extension-method ,即为已有类扩展方法,从 flutter_screenutil 这种 540.w 写法点进去,我们可以看到
flutter_screenutil为num类扩展了一系列简写方法,那我们当然可以按照它这种方式进行扩展
网上提供的解决方案:
第一步:修改 pubspec.yaml
第二步:执行 flutter pub get
第三步:重启 AndroidStudio
解决方案:去掉const即可
UI设计中px、pt、ppi、dpi、dp、sp之间的关系
Dart/Flutter - 扩展方法(ExtensionMethod)
Q4: Flutter_为啥安卓字体效果和iOS不一样?3
1、除了两个平台的系统默认字体不一样之外。
2、在设置字体字重(字体粗细)时。
ios的字体粗细和下面截图中的一一对应。
安卓的w500及以下都是正常字体,安卓的w600和w700相当于ios的w500,安卓的w800及以后都是一样粗细。
当我把PingFang字体文件,导入并使用后。
关于flutter设置默认字体和flutter我的设置界面的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







