当前位置: 首页 > news >正文

网站改版做重定向时代定制

网站改版做重定向,时代定制,织梦cms首页模板文件是哪个,黑白高端网站建设1.让界面之间可以嵌套且执行动画。 2.界面的添加遵循先进后出原则。 3.需要使用AnimateView#xff0c;请看我上一篇博客。 演示#xff1a; 代码#xff1a; Stack: import package:flutter/cupertino.dart;///栈#xff0c;先进后出 class KqWidgetStack {final Lis…1.让界面之间可以嵌套且执行动画。 2.界面的添加遵循先进后出原则。 3.需要使用AnimateView请看我上一篇博客。 演示 代码 Stack: import package:flutter/cupertino.dart;///栈先进后出 class KqWidgetStack {final ListWidget _stack [];///入栈push(Widget obj) {_stack.add(obj);}///出栈Widget? pop() {if (_stack.isEmpty) {return null;} else {return _stack.removeLast();}}///栈长度length() {return _stack.length;}///清除栈clear() {_stack.clear();} }StackView: import package:flutter/cupertino.dart; import package:kq_flutter_widgets/widgets/animate/animate_view.dart; import package:kq_flutter_widgets/widgets/stackview/stack.dart;class StackView extends StatefulWidget {///初始显示的界面final Widget initChild;///state回调。获取state后方便后续界面操作。final void Function(StackViewState state)? stateCallback;const StackView({super.key,required this.initChild,this.stateCallback,});overrideStateStatefulWidget createState() StackViewState(); }class StackViewState extends StateStackView {final KqWidgetStack _stack KqWidgetStack();bool _isOpen true;Widget? _previousWidget;Widget? _currentWidget;overridevoid initState() {super.initState();_currentWidget widget.initChild;widget.stateCallback?.call(this);}overrideWidget build(BuildContext context) {if (_currentWidget null) {return Container();} else if (_previousWidget null) {return _isOpen? AnimateView(animate: TranslationAnimate(angle: TranslationAnimateDirection.bottomToTop.angle,type: TranslationAnimateType.translateIn),child: _currentWidget!,): AnimateView(animate: TranslationAnimate(angle: TranslationAnimateDirection.topToBottom.angle,type: TranslationAnimateType.translateOut),child: _currentWidget!,);} else {return _isOpen? Stack(children: [AnimateView(animate: TranslationAnimate(angle: TranslationAnimateDirection.bottomToTop.angle,type: TranslationAnimateType.translateOut),isNeedFlashEveryTime: true,child: _previousWidget!,),AnimateView(animate: TranslationAnimate(angle: TranslationAnimateDirection.bottomToTop.angle,type: TranslationAnimateType.translateIn),isNeedFlashEveryTime: true,child: _currentWidget!,),],): Stack(children: [AnimateView(animate: TranslationAnimate(angle: TranslationAnimateDirection.topToBottom.angle,type: TranslationAnimateType.translateOut),isNeedFlashEveryTime: true,child: _previousWidget!,),AnimateView(animate: TranslationAnimate(angle: TranslationAnimateDirection.topToBottom.angle,type: TranslationAnimateType.translateIn),isNeedFlashEveryTime: true,child: _currentWidget!,),],);}}addWidget(Widget page) {_isOpen true;_previousWidget _currentWidget;_currentWidget page;if (_previousWidget ! null) {_stack.push(_previousWidget!);}print(stack size${_stack.length()});setState(() {});}///回退返回上一个界面。///[bool] 返回true表示成功返回上一级///返回false表示返回失败已是最后一个界面不可继续返回。bool back() {_isOpen false;_previousWidget _currentWidget;_currentWidget _stack.pop();print(stack size${_stack.length()});setState(() {});if (_stack.length() 1) {return true;} else {return false;}}overridevoid dispose() {super.dispose();_stack.clear();} }demo: import package:flutter/material.dart; import package:get/get.dart; import package:kq_flutter_widgets/widgets/button/kq_small_button.dart; import package:kq_flutter_widgets/widgets/stackview/stack_view.dart; import package:kq_flutter_widgets/widgets/titleBar/kq_title_bar.dart;class StackViewDemo extends StatefulWidget {const StackViewDemo({super.key});overrideStateStatefulWidget createState() StackViewDemoState(); }class StackViewDemoState extends StateStackViewDemo {StackViewState? state;overrideWidget build(BuildContext context) {return Scaffold(appBar: KqHeadBar(headTitle: StackView演示,back: () {Get.back();},),body: StackView(initChild: Column(children: [const Text(我是首页),KqSmallButton(title: 打开新页面,onTap: (disabled) {state?.addWidget(TestPage1(state: state!));},),Expanded(child: Container(color: Colors.purple,)),],),stateCallback: (StackViewState state) {this.state state;},),);} }class TestPage1 extends StatelessWidget {final StackViewState state;const TestPage1({super.key, required this.state});overrideWidget build(BuildContext context) {return Column(children: [const Text(我是TestPage1),KqSmallButton(title: 返回,onTap: (disabled) {state.back();},),KqSmallButton(title: 打开新页面,onTap: (disabled) {state.addWidget(TestPage2(state: state));},),Expanded(child: Container(color: Colors.amber,)),],);} }class TestPage2 extends StatelessWidget {final StackViewState state;const TestPage2({super.key, required this.state});overrideWidget build(BuildContext context) {return Column(children: [const Text(我是TestPage2),KqSmallButton(title: 返回,onTap: (disabled) {state.back();},),KqSmallButton(title: 打开新页面,onTap: (disabled) {state.addWidget(TestPage3(state: state));},),Expanded(child: Container(color: Colors.cyan,)),],);} }class TestPage3 extends StatelessWidget {final StackViewState state;const TestPage3({super.key, required this.state});overrideWidget build(BuildContext context) {return Column(children: [const Text(我是TestPage3),KqSmallButton(title: 返回,onTap: (disabled) {state.back();},),Expanded(child: Container(color: Colors.blueAccent,)),],);} }
http://www.zqtcl.cn/news/143699/

相关文章:

  • 合作网站seo在哪里建网站免费
  • 需求网站自动发卡网站开发
  • 用asp做网站span电子商务网站建设的教案
  • 厦门市住房建设网站音乐主题wordpress
  • 小说网站开发文档建站公司用wordpress
  • 自己做手机版网站制作佛山网站建设企划动力
  • 鄂州建设工程造价信息管理网站wordpress 3.9 编辑文章 固定链接 不能编辑
  • asp网站的安全性织梦移动端网站建设
  • 大网站的二级域名哪些平台可以发布产品
  • 旅游网站开发说明书怎么做好销售
  • 网站app生成器天河网站建设服务
  • 南京移动网站建设哪里强新网站建设都需要哪些
  • .net网站制作wordpress配置多语言包
  • 上海源码网站建设公司做短视频的网站都有哪些
  • 网络推广公司联系昔年下拉网络优化seo
  • 网站开发语言识别网站众筹该怎么做
  • 长春做网站公司长春seo公司云主机和云服务器的区别
  • 打开网站乱码怎么做网件路由器登陆网址
  • wordpress 怎么删除主题seo神马网站推广器
  • 番禺网站推广公司宣传片拍摄方案范本
  • 网站建设的公司收费建筑英才网app
  • 作风建设活动网站知名景观设计公司的官网
  • 网站的模块做网站的图片要多少像素
  • 网站建设需要什么书企信网企业信用信息系统贵州
  • 做网站是什么鬼新浪虚拟主机做网站
  • 青岛网站设计如何做注册网店需要多少费用
  • 空白网站怎么建立网站默认主页设置
  • wordpress外网访问不seo综合查询是什么
  • 曲阜网站建设价格做5173这样的网站要多少人
  • 深圳网站建设服务合同wordpress 增删改查