如何调整SmoothPageIndicator中ExpandingDotsEffect的活跃点尺寸?
调整SmoothPageIndicator中ExpandingDotsEffect的活跃点大小
要修改ExpandingDotsEffect的活跃点大小,核心是用expansionFactor参数——它控制活跃点相对于你设置的dotWidth和dotHeight的缩放比例,默认值为1.3。
直接给你修改后的代码:
SmoothPageIndicator( axisDirection: Axis.horizontal, controller: _controller, count: 3, effect: const ExpandingDotsEffect( activeDotColor: Colors.orange, dotColor: Colors.white, dotHeight: 16, dotWidth: 35, spacing: 24, // 调整这个数值控制活跃点大小,值越大活跃点越宽越高 expansionFactor: 1.8, ), ),
举个实际计算的例子:你当前设置了dotWidth:35、dotHeight:16,如果把expansionFactor设为1.8,活跃点的实际宽度就是35×1.8=63,高度是16×1.8=28.8,你可以根据视觉需求灵活调整这个倍数。
如果想要完全独立设置活跃点的宽高(不依赖非活跃点的尺寸缩放),ExpandingDotsEffect本身不支持这种方式,你可以考虑换成ScaleEffect或者自定义Effect,但如果坚持用ExpandingDotsEffect,expansionFactor是唯一的调整途径。
内容的提问来源于stack exchange,提问作者Назар Марцинко
相关产品推荐
相关产品推荐

