重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这里实现flutter第三方地图导航,选用最简单的方式--调用第三方地图客户端;但各种地图客户端用的坐标系不一定相同,先了解下常见的坐标系:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、雅安服务器托管、营销软件、网站建设、同安网站维护、网站推广。
地图应用api坐标系:
在 pubspec.yaml 文件中添加依赖插件:
一般android和ios调起第三方应用是通过scheme方式,这里调起第三方地图客户端导航也一样,如高德地图,ios scheme为iosamap,android scheme为androidamap; 所以flutter需要引用url_launcher;
未完待续~~
一、前言
Flutter开发,就需要对各种状态的管理,就是在请求数据的时候需要实时变化,各种交互变化等,在没有使用GetX之前使用Provider,用Provider的时候觉得真香,挺方便的,需要刷新的时候直接 notifyListeners(); 用了GetX之后觉得Provider太繁琐了。这边介绍下GetX的使用以及常用的方法。
二、 GetX
GetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。
1、相关优势:
三、使用
1、第一步 引入get
2、第二步
修改入口、配置路由
3、路由
Routes类
Pages类
4、状态管理
我一般一个page对应一个controller, controller来处理逻辑,控制page.
简单使用
5、依赖注入
依赖注入也是我喜欢的,可以减少很多工作。
第一步
第二步
6、跨页面交互
7、黑暗模式
可以参考前期写的博客。 黑暗模式的适配
国外地址:
国内镜像:
以 flutter_screenutil 为例
路由框架 annotation_route
状态管理 provider
UI适配 flutter_screenutil
刷新控件 flutter_easyrefresh
网络请求 dio
toast控件 fluttertoast
图表库 charts_flutter
网络监听 connectivity
事件总线 event_bus
日历组件 table_calendar
官方webview webview_flutter
第三方webview flutter_webview_plugin
该篇文章为常用依赖包总结,用来记录所需要的常用依赖包,后续会不断扩充内容~
bottom_tab_bar,
用法和bottom_navigation_bar一样,但是新增了一些属性的用法
bottom navigation bar 里面的 icon and title.
回调,带的是tab的index
The callback that is called when a item is tapped.
The widget creating the bottom navigation bar needs to keep track of the current index and call setState to rebuild it with the newly provided index.
The index into [items] of the current active item.
当前激活的是哪一个tab
Defines the layout and behavior of a [BottomTabBar].
See documentation for [BottomTabBarType] for information on the meaning of different types.
The color of the selected item when bottom navigation bar is [BottomTabBarType.fixed].
If [fixedColor] is null then the theme's primary color, [ThemeData.primaryColor], is used. However if [BottomTabBar.type] is [BottomTabBarType.shifting] then [fixedColor] is ignored.
The size of all of the [BottomTabBarItem] icons.
See [BottomTabBarItem.icon] for more information.
动画是否开启,默认是开起的
未读消息的颜色,默认是fixedColor
按压水墨屏效果是否开启,默认是开启的,
还是带动画的,不太适合我们的正常项目
未读消息,是一个widget,可以自定义样式
未读消息
first import dependeny in pubspec.yaml
example:
MaterialApp 是我们app开发中常用的符合MaterialApp Design设计理念的入口Widget。MaterialApp这个组件里面的参数比较多,而且一般在应用入口会用到,所以这里把它内部的所有参数都列出来了
基本用法:
可以看到我们在 App 的最外层直接使用了 MaterialApp ,可以指定App的名称( title ),App的主题样式( theme ),首页的组件( home ),路由跳转配置)( routes ),关于路由跳转我们在后面的章节中会介绍
Scaffold 实现了基本的 Material Design 布局结构, Scaffold 在英文中的解释为角手架,我们可以理解为楼体中的钢架结构,通过它可以构建一个页面
在Flutter应用开发中,我们可以将 Scaffold 理解为一个布局的容器。可以在这个容器中绘制我们的用户界面
下面是 MaterialApp + Scaffold 的组合的基本用法
AppBar 就是顶部的导航栏组件,支持自定义标题,左右两侧的工具栏按钮等
BottomNavigationBar 是底部的菜单栏组件
使用方法:
一般我们会定义一个全局变量如 _currentIndex 用于记录当前选中的下标。然后在 onTap 属性的回调方法中调用
setState(() { _currentIndex = index;}); 更新 _currentIndex 就可以实现底部菜单的切换。 BottomNavigationBar 一般会配合 BottomNavigationBarItem 一起使用(如下所示)
RefreshIndicator 是Flutter中的下拉刷新组件,一般配合 ListView 组件一起使用
Image 就类似于android中的 ImageView ,可以自定义图片显示的宽高
从网络中加载图片
从本地(File文件)加载图片
从本地资源加载图片
可以将byte数组加载成图片
TextField 就类似于android的 EditText
PageView 就类似于android中的 ViewPager
在Flutter内部机制中,默认使用自动管理导航机制,该机制在Flutter与原生混和开发情况下,Flutter页面不一定作为项目的首页面,所以出现需要在首个Flutter页面使用导航返回的需求。
Flutter的AppBar中定义有属性:
该属性默认为YES,即默认为自动管理导航栏,该情况下其会在非第一个Flutter页面创建导航返回按钮,我们在AppBar中将其设置为false:
并且手动添加导航返回按钮:
完成