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

做文案公众号策划兼职网站京东网上商城和京东有什么区别

做文案公众号策划兼职网站,京东网上商城和京东有什么区别,wordpress的密码忘记,网站制作软件排行榜导航 两个页面之间切换 UIKit中,使用UINavigationController来管理视图。Flutter中通过Navigator和Routes来实现相似的功能。 一个Route是一个应用中屏幕或页的抽象,Navigator是一个Widget来管理这些Routes。Route可以粗略的认为是一个UIViewController,Navigato…

导航

两个页面之间切换

UIKit中,使用UINavigationController来管理视图。Flutter中通过NavigatorRoutes来实现相似的功能。

一个Route是一个应用中屏幕或页的抽象,Navigator是一个Widget来管理这些RoutesRoute可以粗略的认为是一个UIViewControllerNavigator类似iOS中的UINavigationController,可以pushpopRoutes。

切页面有两种方法

  • 指定一个路由的映射表
  • 直接导航到一个Route
指定路由表 - pushName
import 'package:flutter/material.dart';
import 'package:navigation/second_route.dart';void main() {runApp(const MainApp());
}class MainApp extends StatelessWidget {const MainApp({super.key});Widget build(BuildContext context) {return MaterialApp(title: "导航示例",home: Builder(builder:(context) => Scaffold(appBar: AppBar(title: Text("导航")),body: Center(child: ElevatedButton(onPressed: () {// 2. 跳转到SecondRouteNavigator.of(context).pushNamed('/second');},child: const Text("到第二个页面"),),),),),// 1.建立映射表 "/second"指向SecondRoute()routes: {'/second': (context) => const SecondRoute()},);}
}
import "package:flutter/cupertino.dart";
import "package:flutter/material.dart";class SecondRoute extends StatelessWidget {const SecondRoute({super.key});// 3. 显示Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text("第二个路由页面")),body: Center(child: CupertinoButton(onPressed: () {// 4.点击返回Navigator.pop(context);},child: const Text("返回"),),),);}
}

202505111031.gif

返回 - pop

Flutter中使用如下代码实现pop功能

# 或 Navigator.pop()
SystemNavigator.pop()

在iOS上约等于如下的实现

UIViewController* viewController = [UIApplication sharedApplication].keyWindow.rootViewController;
if ([viewController isKindOfClass:[UINavigationController class]]) {[((UINavigationController*)viewController) popViewControllerAnimated:NO];
}
指定路由表 - push

在push方法中直接用builder跳转,而不需要通过路由表

import 'package:flutter/material.dart';
import 'package:navigation/second_route.dart';void main() {runApp(const MainApp());
}class MainApp extends StatelessWidget {const MainApp({super.key});Widget build(BuildContext context) {return MaterialApp(title: "导航示例",home: Builder(builder:(context) => Scaffold(appBar: AppBar(title: Text("导航")),body: Center(child: ElevatedButton(onPressed: () {// 点击直接指定跳转的界面Navigator.of(context).push(MaterialPageRoute(builder: (context) => const SecondRoute(),),);},child: const Text("到另一个页面"),),),),),);}
}

202505111051.gif

指定路由表 - go_router

go_router是一个用于Flutter声明式的路由包,使用Router API为不同屏幕间进行切换

$ flutter pub add go_router

会在pubspec.yaml文件中添加go_router依赖包,并下载

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:navigation/second_route.dart';void main() {runApp(MaterialApp.router(title: '导航', routerConfig: _router));
}// 1.定义路由信息
final _router = GoRouter(routes: [GoRoute(path: '/', builder: (context, state) => const FirstScreen()),GoRoute(path: '/second', builder: (context, state) => const SecondRoute()),],
);class FirstScreen extends StatelessWidget {const FirstScreen({super.key});Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('第一个界面')),body: Center(child: ElevatedButton(child: const Text('使用go_router跳转'),// 2.指定跳转界面onPressed: () => context.go('/second'),),),);}
}
import "package:flutter/cupertino.dart";
import "package:flutter/material.dart";
import "package:go_router/go_router.dart";class SecondRoute extends StatelessWidget {const SecondRoute({super.key});Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text("第二个路由页面")),body: Center(child: CupertinoButton(onPressed: () {// 3. 点击返回根目录context.go('/');},child: const Text("返回"),),),);}
}

导航到其它应用

在UIKit中使用URL scheme来实现。Flutter可以使用类似 url_launcher 的插件来实现。

AndroidiOSLinuxmacOSWebWindows
支持SDK 16+12.0+Any10.14+AnyWindow 10+
$ flutter pub add url_launcher
加载Web界面
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';final Uri _url = Uri.parse('https://flutter.cn');void main() => runApp(const MaterialApp(home: Material(child: Center(child: ElevatedButton(onPressed: _launchUrl,child: Text('Show Flutter homepage'),),),),),);Future<void> _launchUrl() async {if (!await launchUrl(_url)) {throw Exception('Could not launch $_url');}
}

202505111132.gif

加载其它应用

Info.plist添加允许打开短信和电话的配置

<key>LSApplicationQueriesSchemes</key>
<array><string>sms</string><string>tel</string>
</array>
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';final Uri _url = Uri.parse('tel://10000');void main() => runApp(const MaterialApp(home: Material(child: Center(child: ElevatedButton(// 1. 绑定对应方法onPressed: _launchUrl,child: Text('Show Flutter homepage'),),),),),
);Future<void> _launchUrl() async {// 2. 确认是否能打开对应url,已添加到plist文件if (await canLaunchUrl(_url)) {if (!await launchUrl(_url)) {throw Exception('Could not launch $_url');}}
}

tel.gif

参考

  1. 给 UIKit 开发者的 Flutter 指南
  2. url_launcher

文章转载自:

http://eQOg5dD0.zrkws.cn
http://4N4I7etd.zrkws.cn
http://CRYCcj77.zrkws.cn
http://e0ZiIST9.zrkws.cn
http://1jnlRT0U.zrkws.cn
http://PwB9kHCu.zrkws.cn
http://AymwubKL.zrkws.cn
http://mdYagBXu.zrkws.cn
http://Mt63nWEy.zrkws.cn
http://IOEx5Ta8.zrkws.cn
http://BW83aXnQ.zrkws.cn
http://wDujFPA3.zrkws.cn
http://dJdd2NJu.zrkws.cn
http://6kEthxuv.zrkws.cn
http://idM2Ybwj.zrkws.cn
http://C3zgIRxq.zrkws.cn
http://nLwBiDKe.zrkws.cn
http://rCZBCoDR.zrkws.cn
http://KOop3WA8.zrkws.cn
http://ybFkSyr9.zrkws.cn
http://inWkxOwV.zrkws.cn
http://oh224W3V.zrkws.cn
http://J5Fy3QIj.zrkws.cn
http://p4XBmS3L.zrkws.cn
http://BDi9UAhX.zrkws.cn
http://lysGkYn1.zrkws.cn
http://Ze0dbEYo.zrkws.cn
http://Kgg2oOcm.zrkws.cn
http://Z4uULWFh.zrkws.cn
http://iVrre9nK.zrkws.cn
http://www.dtcms.com/wzjs/778448.html

相关文章:

  • wordpress网站秒开wordpress资源分享网
  • 佛山顺德容桂网站制作网站建设与管理案例教程在线阅读
  • 网站项目计划书两学一做 网站
  • 陕西交通建设有限公司网站博客网站快速排名
  • 南昌网站建设700起网页模板之家
  • 建一个网站需要什么手续快速搭建网站后天台
  • 建站开发劳务 东莞网站建设
  • 东昌府聊城网站优化金山区网站制作
  • 政务网站建设外包网站问些什么问题
  • 网站开发学什么语言wordpress安装出错
  • 网站首页分类怎么做的wordpress安装主题连接不上ftp
  • 西安有啥好玩的地方郑州网站优化汉狮网络
  • 阿里云虚拟主机可以做两个网站吗asp.net网站开发全过程
  • 江西安福县建设局网站品牌网站建设相关问题
  • 网站静态化的处理品牌vi设计公司啊
  • 网站建设昆山深圳高端医疗器械公司
  • 网站设计制作的连接方式做网站创意是什么意思
  • 没有固定ip做网站上海关闭娱乐场所通知
  • 龙华网站优化天津网站建设需要多少钱
  • 商丘网站制作电话h5制作软件是什么
  • 林州网站制作网站设计公司收费标准
  • 深圳宝安网站建设报价基于jsp企业网站开发设计答辩ppt
  • 娱乐城网站模板wordpress图文安装教程
  • 网站优化北京如何联系?江东外贸seo网站建设
  • 设计参考图网站企业如何对自己的网站进行建设
  • 许昌企业网站去哪开发wordpress wp_query paged
  • 无锡网站建设mkdns做英文网站挂谷歌广告
  • 学习前端的网站电脑怎么制作app
  • 官方网站的英文seo和竞价排名的区别
  • 中国贸易网站对seo的理解