## 1.使用场景
音乐播放进度展示,播放过程中当前时间变化,由于时间的位数和各数字之间的宽度不固定,导致中间的进度条位置会抖动。


## 2.使用开源的自定义字体
在定义TextStyle对象时,有一个fontFamily属性,就是用于配置Text的字体。
```
TextStyle timeMonospaceStyle = TextStyle(
color: Colors.black,
fontSize: 13,
fontFamily: '***',
);
```
那么自定义的字体可以从哪里获取呢?
Google有一个开源字体网站,里面包含有各种开源免费的字体,就是https://fonts.google.com/(绿色上网),在其中的Categories选择等宽字体(Monospace),就能在筛选结果中进行选择合适的字体。
<img src="images\Google等宽字体.png" style="zoom:80%;" />

在字体的详细介绍页下方可以看到它的开源协议授权信息


通过引入等宽字体解决音乐播放进度文本宽度变化导致的UI抖动。在Google开源字体网站选择Courier Prime等宽字体,下载ttf文件放入项目assets目录,并在yaml配置文件中声明。在UI中应用等宽字体,成功避免了播放时间变化引起的文本宽度抖动。
最低0.47元/天 解锁文章
1563

被折叠的 条评论
为什么被折叠?



