flutter 禁止字体大小跟随系统字体改变大小

最近遇到个问题 刚开始是根据设计图写的字体大小 但是到我手机上都是非常小的文字 后来找到问题是因为我的手机系统字体比较小 习惯了 我的Android Studio字体也是比较小的


微信图片_20190618163743.png

我当时使用的方法有这几个

1.flutter_screenutil 我使用的是这个适配屏幕的包

image.png

这个的使用方法是在设置设计图宽高的时候设置allowFontScaling 默认是false


image.png

不过可能是我的使用方法有错误吧 不知道为什么 总是设置不成功

2.修改Text的textScaleFactor为1

这个方法是修改系统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就可以达到禁止字体大小跟随系统字体改变大小目的了

你可能感兴趣的:(flutter 禁止字体大小跟随系统字体改变大小)