• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Ocean123123
博客园    首页    新随笔    联系   管理    订阅  订阅

顶部提示框

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"),
                ),
              ),
            ),
          )
        ],
      ),
    ),
      );

  }

}

 

 
posted @ 2020-11-11 11:40  Ocean123123  阅读(163)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3