最近遇到個問題 剛開始是根據(jù)設(shè)計圖寫的字體大小 但是到我手機上都是非常小的文字 后來找到問題是因為我的手機系統(tǒng)字體比較小 習(xí)慣了 我的Android Studio字體也是比較小的
我當時使用的方法有這幾個
1.flutter_screenutil 我使用的是這個適配屏幕的包
這個的使用方法是在設(shè)置設(shè)計圖寬高的時候設(shè)置allowFontScaling 默認是false
不過可能是我的使用方法有錯誤吧 不知道為什么 總是設(shè)置不成功
2.修改Text的textScaleFactor為1
這個方法是修改系統(tǒng)text的屬性 這個是成功的
但是我當時使用了很多 為了以后迭代方便 管理方便我是用了下邊的方法
3.自定義text
import 'package:flutter/material.dart';
import 'package:flutter_app2/View/FixedSizeText.dart';
class FixedSizeText extends Text {
const FixedSizeText(String data, {
Key key,
TextStyle style,
StrutStyle strutStyle,
TextAlign textAlign,
TextDirection textDirection,
Locale locale,
bool softWrap,
TextOverflow overflow,
double textScaleFactor = 1,
int maxLines,
String semanticsLabel,
}) : super(data,
key:key,
style:style,
strutStyle:strutStyle,
textAlign:textAlign,
textDirection:textDirection,
locale:locale,
softWrap:softWrap,
overflow:overflow,
textScaleFactor:textScaleFactor,
maxLines:maxLines,
semanticsLabel:semanticsLabel);
}
繼承與Text 然后重點是這一行代碼
double textScaleFactor = 1,
然后在布局Widget的時候使用FixedSizeText代替Text就可以達到禁止字體大小跟隨系統(tǒng)字體改變大小目的了