flutter 底部展出动画
时间: 2023-09-26 20:04:29 浏览: 128
flutter-animations
Flutter 中可以通过 `AnimatedContainer` 和 `Positioned` 等组件来实现底部弹出动画。以下是一个简单的示例代码:
```dart
import 'package:flutter/material.dart';
class BottomSheetAnimation extends StatefulWidget {
@override
_BottomSheetAnimationState createState() => _BottomSheetAnimationState();
}
class _BottomSheetAnimationState extends State<BottomSheetAnimation> {
bool _isExpanded = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Bottom Sheet Animation'),
),
body: Center(
child: ElevatedButton(
child: Text('Show Bottom Sheet'),
onPressed: () {
setState(() {
_isExpanded = !_isExpanded;
});
},
),
),
bottomSheet: AnimatedContainer(
duration: Duration(milliseconds: 500),
curve: Curves.fastOutSlowIn,
height: _isExpanded ? 200 : 0,
child: Container(
color: Colors.blue,
child: Center(
child: Text(
'Bottom Sheet Content',
style: TextStyle(color: Colors.white, fontSize: 20),
),
),
),
),
);
}
}
```
在这个示例中,我们在底部使用了一个 `AnimatedContainer`,并在 `onPressed` 回调中切换 `_isExpanded` 的值以触发动画效果。通过设置 `duration` 和 `curve` 属性可以调整动画的时长和曲线。
阅读全文