1、Flutter Widget(IOS Style) - CupertinoApp;
在Flutter中设计风格主要为Material Design风格,Flutter也支持IOS设置风格Cupertino的一系列Widget,分别对应flutter的包下的material目录下的dart文件和cupertino目录的dart文件。
Root Widget ;
在material design设计风格下的root widget为MaterialApp,ios 风格的root widget为CupertinoApp;
Material Design:
void main()=>runApp(MyMaterialApp());class MyMaterialApp extends StatelessWidget{@overrideWidget build(BuildContext context) => MaterialApp(home: HomeScreen(),);
}
复制代码
Cupertino:
void main()=>runApp(MyAppCupertino());class MyAppCupertino extends StatelessWidget{@overrideWidget build(BuildContext context) => CupertinoApp(home: HomeScreen(),);
}
复制代码
Scaffold;
为material design小部件创建视觉支架的为Scaffold,为cupertino小部件创建视觉支架的为CupertinoTabScaffold和CupertinoPageScaffold,其中CupertinoTabScaffold可以使用底部的选项卡栏为应用程序创建布局,其中CupertinoPageScaffold 为iOS模式页面的典型内容,实现布局、顶部有导航栏。
如下为CupertinoPageScaffold和CupertinoTabScaffold混合使用实现ios风格UI的部分代码:
class HomeScreen extends StatelessWidget{@overrideWidget build(BuildContext context) {return CupertinoTabScaffold(tabBar: CupertinoTabBar(items: [BottomNavigationBarItem(icon: Icon(CupertinoIcons.book_solid),title: Text('书籍')),BottomNavigationBarItem(icon: Icon(CupertinoIcons.eye_solid),title: Text('观看'))]),tabBuilder: (context,position){return CupertinoTabView(builder: (context){return CupertinoPageScaffold(navigationBar: CupertinoNavigationBar(middle: (position==0)?Text("书籍"):Text("观看"),),child: Center(child: CupertinoButton(child:Text("this is tab :$position",), onPressed: (){Navigator.of(context).push(CupertinoPageRoute(builder: (context){return DetailScreen((position==0)?"书籍":"观看");}));})),);},);});}
}///详细页面;
class DetailScreen extends StatelessWidget{final String title;DetailScreen(this.title);@overrideWidget build(BuildContext context) {return CupertinoPageScaffold(navigationBar: CupertinoNavigationBar(middle: Text("Details"),),child: Center(child: Text("欢迎来到 :$title"),));}
}
复制代码
可以使用iOS风格的图标CupertinoIcons;
CupertinoPageRoute为Cupertino创建一个页面路由,以便在iOS设计的应用程序中使用。MaterialPageRoute定义了以material design的方式转换的应用页面。
1、Flutter Widget(IOS Style) - CupertinoApp;相关推荐
- 2、Flutter Widget(IOS Style) - CupertinoActionSheet;
iOS风格的模式底部Dialog列表.向用户显示与当前上下文相关的一组两个或更多选项的选择提示; class CupertinoActionSheetApp extends StatelessWi ...
- 16、Flutter Widget - PageView;
要实现在安卓上的ViewPager可以使用PageView控件. 创建PageController final controller=PageController(initialPage:1,); ...
- Flutter 发布iOS版本app
1. 苹果账号和相关证书配置(直接搜索 iOS 证书配置,不多做描述),我这边使用自动生成证书 2. flutter build ios --release // 以创建release版本(flutt ...
- 【Flutter从入门到实战】⑪、豆瓣案例-1、星星评分Widget、虚线Widget、TabbarWidget、BottomNavigationBarItem的封装、初始化配置抽取
Flutter从入门到实战 一共分为23个系列 ①(Flutter.Dart环境搭建篇) 共3个内容 已更新 ②(Dart语法1 篇) 共4个内容 已更新 ③(Dart语法2 篇) 共2个内容 已更新 ...
- 62、Flutter插件通信iOS,Android实现过程<二>
前言 61.Flutter插件通信原理<一>_风雨「83」的博客-CSDN博客Flutter与原生通讯 - Flutter Plugin - 知乎前言Flutter优势主要体现在UI上-- ...
- flutter制作博客展示平台,现已支持 Web、macOS 应用、Android 和 iOS
Flutter Blog Theme using Flutter | Web, macOS, Android, iOS Flutter 最近发布了 Flutter V2.5.1,其性能得到了很大提升, ...
- Flutter与JS的双向调用、Flutter中Widget与Html混合加载
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 [x2]各种系列的视频教程 ...
- flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录
flutter在IOS上的登录实现--QQ登录.微信登录.自动识别手机号一键登录.apple登录 一.QQ登录 使用的第三方库: 具体操作方法: 1.配置 Universal Links 2.QQ互联 ...
- iOS播放器、Flutter高仿书旗小说、卡片动画、二维码扫码、菜单弹窗效果等源码
iOS精选源码 全网最详细购物车强势来袭 一款优雅易用的微型菜单弹窗(类似QQ和微信右上角弹窗) swift, UITableView的动态拖动重排CCPCellDragger 高仿书旗小说 Flut ...
最新文章
- NDK/JNI demo ( 五 ) ORB_SLAM2在Android上的移植过程
- 问答:双总线并机,可以使用不同品牌的ups吗?
- 前端--关于CSS盒模型
- memmove和memcpy
- iOS 常用公共方法
- .Net程序猿玩转Android开发---(11)页面跳转
- iOS 8 Xcode6 设置Launch Image 启动图片转
- C++使函数返回多个数组
- PPT中均匀分布各图形(水平或垂直)
- MySQL优化详解(二)——数据库架构和使用优化
- Orcad 使用MySQL数据库建立元件数据库完整步骤(30多张截图)
- Ubuntu 配置固定IP方法
- 徐静蕾2008十大青春语录
- iOS 用内置浏览器Safari 打开网页
- 这家安全厂商避谈“软件定义”,我却要为它的“反骨”点赞
- linux 关闭防火墙
- 稠密的无人机激光雷达点云数据处理与分析方法与工具科普系列(一)
- C# Settings.settings的用处
- 2PC、3PC、TCC
- CSS 与 地图可视化 三棱锥 (九)