我正在使用Pixel 2模拟器进行开发,当然,我使用的字体大小对该手机非常好。
在使用iPhone 5S时,我期望字体大小会减小并且与该屏幕分辨率成比例。也许Flutter做了些什么,但乍一看并不容易。
我找到了'flutter_screenutil'插件,但无法正常工作。可能是因为我没有为ScreenUtil.instance = ScreenUtil(width: 750, height: 1334)..init(context);
输入正确的值,这些值是iphone 6的“设计中设备的屏幕尺寸”(基于示例)。
如果我在Blackberry Motion(1080x1794)上使用字体大小为100的插件,则结果是我期望的。在iPhone 6(750x1334)上使用相同的代码,我应该使用70号字体。不是很有用。
有人能在不更改代码中字体大小值的情况下,以不同的分辨率处理字体大小的好方法吗?
答案 0 :(得分:-1)
您可以尝试使用Google字体。由于Flutter使用自定义字体,因此您可以将自定义字体应用于整个应用或单个小部件。使用字体大小为20的“ Pacifico”系列产品时,我看不到任何问题。我还在Pixel 3和Iphone 11上测试了以下测试代码,并且看不到任何问题。
步骤简单,如flutter文档中所述:
我的pubspec.yaml文件:
flutter:
fonts:
- family: Pacifico
fonts:
- asset: fonts/Pacifico-Regular.ttf
我的main.dart文件:
` Widget build(BuildContext context) {
return MaterialApp(
title: 'Font test',
home: Scaffold(
backgroundColor: Colors.white,
body: SafeArea(
child: Column(
children: <Widget>[
Container(
height: 100.0,
width: 100.0,
color: Colors.red,
child: Text(
'container one',
style: TextStyle(
fontFamily: 'Pacifico',
fontSize: 20.0,
),
),
),
Container(
height: 100.0,
width: 100.0,
color: Colors.blue,
child: Text(
'container two',
style: TextStyle(
fontFamily: 'Pacifico',
fontSize: 20.0,
),
),
),
Container(
height: 100.0,
width: 100.0,
color: Colors.purple,
child: Text(
'container three',
style: TextStyle(
fontFamily: 'Pacifico',
fontSize: 20.0,
),
),
),
],
),
),
)
);
}
如果您对字体有任何疑问,请告诉我。另外,如您所见,它是基本的示例应用程序。如果您能通过代码示例帮助我重现此问题,将不胜感激。我没有Mac机器可以帮助您截屏。有了Maclaptop后,我将通过屏幕截图更新此线程