flutter - 重新缩放浏览器时更改 Web 上的字体大小
问题描述
我正在尝试更改 Flutter 网页上的文本大小。通过谷歌搜索,我找到了这个解决方案:
Widget build(BuildContext context) {
return MaterialApp(
builder: (context, child) {
final MediaQueryData data = MediaQuery.of(context);
print('----> ${data.textScaleFactor}');
return MediaQuery(
data: data.copyWith(
textScaleFactor:
data.textScaleFactor > 2.0 ? 2.0 : data.textScaleFactor),
child: child!,
);
},
print('----> ${data.textScaleFactor}');
但是,当我更改 chrome 宽度大小并始终返回 1时,字体大小不会更改。
为什么?
解决方案
根据屏幕使用大小可变的容器,并使用 FittedBox 包装子 Text。
Container(
height: height * 0.15,
constraints: BoxConstraints(maxWidth: width * 0.9),
padding: EdgeInsets.all(5),
child: FittedBox(
fit: BoxFit.fitWidth,
child: Text(
'Text you want to display',
style: TextStyle(
fontFamily: 'Calibri',
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 20,
),
),
),
),
推荐阅读
- java - 如何在 source 和 source-test 目录中定义 Java 9 模块?
- wordpress - wordpress live site : 建议通过 cpanel 安排日常工作
- c++ - 虚拟 constexpr 函数如何可能?
- python-3.x - 如何在 Windows 上通过 pip 安装 pysndfile?
- bash - 在某些 shell 命令选项中,标志后面的冒号有什么作用?
- python - 列值A1、A1、A1,如何转换为A1-1、A1-2、A1-3
- ios - UILabel vs UITextView 和属性字符串 url 链接
- python-3.x - 刮谷歌金融同行股票代码
- mongodb - 有没有办法告诉 mongod 登录到另一台服务器上的系统日志?
- reactjs - Expo Locations.watchPositionAsync 未被删除