Vah*_*iri 35
您可以AnimatedContainer用作 raiseButton child 。当颜色改变时,它会被动画化!
RaisedButton(
onPressed: null,
padding: EdgeInsets.all(0),
child: AnimatedContainer(
color: pageIndex == 1 ? Color(0xFF4B4B4B) : Color(0xFFD8D8D8),
duration: Duration(milliseconds: 300),
),
)
Run Code Online (Sandbox Code Playgroud)
它只是一个容器,所以它可以像文本一样有孩子..
And*_*sky 11
class ChangeRaisedButtonColor extends StatefulWidget {
@override
ChangeRaisedButtonColorState createState() => ChangeRaisedButtonColorState();
}
class ChangeRaisedButtonColorState extends State<ChangeRaisedButtonColor>
with SingleTickerProviderStateMixin {
AnimationController _animationController;
Animation _colorTween;
@override
void initState() {
_animationController =
AnimationController(vsync: this, duration: Duration(milliseconds: 300));
_colorTween = ColorTween(begin: Colors.red, end: Colors.green)
.animate(_animationController);
super.initState();
}
@override
void dispose() {
super.dispose();
_animationController.dispose();
}
@override
Widget build(BuildContext context) {
return AnimatedBuilder(
animation: _colorTween,
builder: (context, child) => RaisedButton(
child: Text("Change my color"),
color: _colorTween.value,
onPressed: () {
if (_animationController.status == AnimationStatus.completed) {
_animationController.reverse();
} else {
_animationController.forward();
}
},
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3590 次 |
| 最近记录: |