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

昆明c2c网站建设近期时事新闻

昆明c2c网站建设,近期时事新闻,ink域名网站,phpweb手机网站前言 这一次被要求实现屏幕上同时展示两个页面,并且两个页面的逻辑,功能互不影响,通俗一点讲就是在Flutter内部实现一个类似于分屏的功能,这可难不倒我。 方法 要在 Flutter 中实现一个屏幕的上半部分和下半部分展示不同的页面…

前言

这一次被要求实现屏幕上同时展示两个页面,并且两个页面的逻辑,功能互不影响,通俗一点讲就是在Flutter内部实现一个类似于分屏的功能,这可难不倒我。

方法

要在 Flutter 中实现一个屏幕的上半部分和下半部分展示不同的页面(我这里是左右两部分),并且两个页面的逻辑互不影响,可以使用 Row 和 Expanded 组件来划分屏幕的左右部分,并分别在这两个部分中使用 Navigator 进行页面导航。还可以依赖 Navigator 在任一页面中对另一个页面的路由进行控制。

效果如下:
在这里插入图片描述

代码

import 'package:date_format/date_format.dart';
import 'package:flutter/material.dart';void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {final GlobalKey<NavigatorState> topNavigatorKey = GlobalKey<NavigatorState>();final GlobalKey<NavigatorState> bottomNavigatorKey =GlobalKey<NavigatorState>();Widget build(BuildContext context) {return MaterialApp(home: Scaffold(body: Row(children: [Expanded(child: Navigator(key: topNavigatorKey,onGenerateRoute: (settings) {return MaterialPageRoute(settings: settings,builder: (_) => TopPage(bottomNavigatorKey: bottomNavigatorKey,),);},),),Expanded(child: Navigator(key: bottomNavigatorKey,onGenerateRoute: (settings) {return MaterialPageRoute(settings: settings,builder: (_) =>BottomPage(), // Placeholder, BottomPage can be added here);},),),],),),);}
}class TopPage extends StatelessWidget {final GlobalKey<NavigatorState> bottomNavigatorKey;TopPage({required this.bottomNavigatorKey});Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Top Page')),body: Padding(padding: const EdgeInsets.all(8.0),child: Column(children: [Center(child: ElevatedButton(child: Text('Go to Top Details'),onPressed: () {Navigator.of(context).push(MaterialPageRoute(builder: (_) => TopDetailsPage()),);},),),SizedBox(height: 20),Center(child: ElevatedButton(child: Text('Show Bottom Page Details'),onPressed: () {// changeBottomPageState();bottomNavigatorKey.currentState!.push(MaterialPageRoute(builder: (_) => BottomDetailsPage()),);},),),]),),);}
}class TopDetailsPage extends StatelessWidget {Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Top Details Page')),body: Center(child: ElevatedButton(child: Text('Go to Bottom Page'), // Add a button to navigate to BottomPageonPressed: () {Navigator.of(context).push(MaterialPageRoute(builder: (_) => BottomPage()),);},),),);}
}class BottomPage extends StatelessWidget {Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Bottom Page')),body: Center(child: ElevatedButton(child: Text('Go to Bottom Details'),onPressed: () {Navigator.of(context).push(MaterialPageRoute(builder: (_) => BottomDetailsPage()),);},),),);}
}class BottomDetailsPage extends StatelessWidget {Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Bottom Details Page')),body: Center(child: Text('This is the Bottom Details Page'),),);}
}

总结

以上就是本期内容啦,如果你有其他的实现方法,欢迎留言一起讨论交流哦。

http://www.hkea.cn/news/280146/

相关文章:

  • wordpress屏蔽f12广州seo网络优化公司
  • 南宁网站建设推广服务云服务器免费
  • 大数据营销是什么seo站长
  • 建设政府网站的公司乐山网站seo
  • 仿站容易还是建站容易专业做灰色关键词排名
  • 做网站背景音乐管理课程培训
  • 网站建设可以自学吗品牌软文范文
  • 网站风格对比哪里有学计算机培训班
  • 做mla的网站网站优化哪家好
  • 网站注册的账号怎么注销线上营销活动有哪些
  • 国内做进口的电商网站网站推广软件哪个好
  • 谁有做那事的网站百度投诉中心入口
  • 免费单页网站在线制作沈阳seo排名优化教程
  • 廊坊网站建大型网站建站公司
  • 远程桌面做网站sem和seo区别与联系
  • 做贷款网站优化大师有用吗
  • 有没有便宜的网站制作制作网页教程
  • 医院网站制作优化关键词的方法有哪些
  • wordpress安装到网站吗泰安seo
  • 长春网站开发培训价格google play三件套
  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力