import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyApp2(
),
);
}
}
class MyApp2 extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return MyState();
}
}
class MyState extends State{
bool show=false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("提示动画"),
),
body: Container(
child: Column(
children: [
Container(
child: AnimatedSwitcher(
switchInCurve: Cubic(0.4,0,0.2,1),
switchOutCurve: Cubic(1,1,1,1),
transitionBuilder: (child,ainm){
return SlideTransition(
child: child,
position: Tween<Offset>(
begin:Offset(0,-1),
end: Offset(0,0)
).animate(ainm)
);
},
duration: Duration(milliseconds: 500),
child: show?Container(
alignment: Alignment.center,
width: MediaQuery.of(context).size.width,
height: 50,
key:ValueKey("item"),
color: Colors.amber,
child: Row(
children: [
Icon(Icons.ac_unit,
color: Colors.white,
size: 15,
),
Text("我是提示",style: TextStyle(color:Colors.white),)
],
),
):Container(
key: ValueKey("hideItem"),
),
),
),
Expanded(
child: Container(
child: Center(
child: FlatButton(
onPressed: (){
setState(() {
show=true;
});
Future.delayed(Duration(seconds: 1),(){
setState(() {
show=false;
});
});
},
child: Text("tip"),
),
),
),
)
],
),
),
);
}
}