在使用TabBar当要对当前选中的Label字体变大时,会出现字体抖动的现象。
在其它Flutter文字动画中,只要包含中文,其实都会出现抖动的情况。
先看下效果图:

原理:
默认动画是字体的改变,比如从20到40,其实我们可以用Transform的Scale实现的效果,字体从20到40,其实是放大了一倍,相对应的Scale就是从1.0变成2.0,这样就很简单了,动画也就流畅很多了。
操作方法:
复制一份tabs.dart的源代码
找到_TabStyle的build方法,修改以下代码,

修改return

_TabStyle源代码(Flutter版本:1.17.2,不同版本的Flutter可能tabs.dart的源代码有所差异,最好按照上面的方法修改):
class _TabStyle extends AnimatedWidget {
const _

在Flutter中,TabBar在切换标签时中文文字可能出现抖动问题。本文提供一种解决方案,通过修改TabStyle的源代码,利用Transform的Scale动画代替字体大小变化,从而实现平滑过渡,避免抖动现象。详细操作步骤包括复制tabs.dart文件,修改特定代码段,并给出了适用于Flutter 1.17.2版本的源码链接。
最低0.47元/天 解锁文章

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



