在Flutter中,我有以下问题。
我想控制TabBarView的动画速度(过渡持续时间)。在TabBar单击期间,内容正文从左向右滑动。我希望这是即时的。与Twitter应用非常相似,底部有一个主要的TabBar图标。
有没有办法控制TabVarView的动画(持续时间)?
发布于 2021-10-28 21:10:39
您可以控制滚动动画的一般物理效果。
TabBarView(
physics: CustomTabBarViewScrollPhysics(),控制滚动行为:
class CustomTabBarViewScrollPhysics extends ScrollPhysics {
const CustomTabBarViewScrollPhysics({ScrollPhysics? parent})
: super(parent: parent);
@override
CustomTabBarViewScrollPhysics applyTo(ScrollPhysics? ancestor) {
return CustomTabBarViewScrollPhysics(parent: buildParent(ancestor)!);
}
@override
SpringDescription get spring => const SpringDescription(
mass: 50,
stiffness: 100,
damping: 0.8,
);
}你也应该能够计算持续时间与质量,刚度,阻尼,但我相信拥有这些选项更适合你的问题。Source
发布于 2019-06-17 02:53:38
你不能用TabBar直接做到这一点!您应该创建一个CustomTab并在其上添加一个“Inkwell”。您应该将墨水井的onTap参数设置为:
() = tabController.animateTo(0, duration: Duration(milliseconds: 0));'所以它应该看起来像这样
Widget _buildTabItem({
int index,
ValueChanged<int> onPressed,
}) {
return Expanded(
child: Container(
child: Material(
type: MaterialType.transparency,
child: InkWell(
onTap: () => onPressed(index),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
/// Icon and text here
],
),
),
),
),
);
}https://stackoverflow.com/questions/56616344
复制相似问题