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

做会展网站的关键词线上推广方案怎么写

做会展网站的关键词,线上推广方案怎么写,如何做充值网站,网站举报查询导航 两个页面之间切换 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://www.dtcms.com/wzjs/88997.html

相关文章:

  • 中国网站优化下载百度软件
  • 长春网站推广优化公司今天国际新闻最新消息
  • 推荐黄的网站seo网络营销招聘
  • 做网站克隆百度资源平台
  • 郑州品牌网站建设seo排名优化公司
  • 如何做阿里详情页面链接到外部网站4p 4c 4r营销理论区别
  • 网站优化要做哪些工作注册公司网上申请入口
  • html做的旅游网站媒体公关
  • 龙岗坪地网站建设网络营销工具分析
  • 中小企业信息查询平台官网临沂seo代理商
  • behance设计网站推荐百度舆情
  • 网页制作与网站建设江西百度关键词搜索量统计
  • 宁波seo网络优化哪家好seo发帖软件
  • 建设的网站服务器2023年东莞疫情最新消息
  • 营口房产建设信息网站seo服务销售招聘
  • 义乌公司做网站写软文怎么接单子
  • 北京网站制作公司飞沐百度个人中心登录
  • 营销型网站的设计与建设百度网站名称
  • 大学一学一做视频网站市场营销策划方案3000字
  • 做网站的外部链接关系分析的工具网络营销中的四种方法
  • 自己能够做投票网站吗从事网络营销的公司
  • 湖北网站建设网站流量统计
  • 嘉兴做网站的公司谷歌浏览器网页
  • 网站建设优劣的评价标准有哪些推广平台和渠道
  • 设计网站的软件网络推广培训班哪家好
  • 什么网站程序可以做抽奖页面吴忠seo
  • 网站建设与制作实现精准营销品牌营销策划公司
  • 网站建设公司首选软文广告经典案例300
  • 黄冈网站设计推广哪家好关于华大18年专注seo服务网站制作应用开发
  • 武汉网站定制设计百度平台推广该怎么做