加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Flutter 开发中的一些 Tips

发布时间:2019-06-22 15:18:12 所属栏目:业界 来源:唯鹿lv-2
导读:进修Flutter也有一阵子了。闲着没事,用了公司一个已经凉凉的App计划图来练手。虽然了接口不行能用的了,以是都是些死数据,实现结果可以说是很美满了(获得了计划的承认。。。)。虽然本身也是边查边写,也小心了很多Github上优越的Flutter项目。此刻开源出

同时行使Theme还可以修改很多默认的配置,好比FlatButton的默认宽度为88,高度为36,可是FlatButton中没有直接修改的属性,网上许多几何的要领都是通过包一层Container去修改,不只增进的嵌套,有些需求还不能到达。以是善用Theme可以让你省时省力,不外弱点就是你必要去翻翻源码,探求行使这些Theme的处所。

5.留意平台差别

留意部门组件在Android与IOS平台之间的差别。

(1)Scaffold的 AppBar,AppBar中默认的title在Android中靠左表现,IOS中居中表现。假如必要两个平台结果同一,必要配置在AppBar中主动配置centerTitle属性。同时AppBar的返回箭头图标也不沟通,同一的话必要自界说leading。

Flutter 开拓中的一些 Tips

(2)页面跳转假如行使MaterialPageRoute来做过渡结果,留意Android中新的页面会从屏幕底部滑动到屏幕顶部,IOS中新的页面会从屏幕右侧滑动到屏幕左侧。

假如必要两个平台结果同一,我们不行使自带结果,可以自界说一个。

  1. Navigator.push(context, PageRouteBuilder(transitionDuration: Duration(milliseconds: 300), 
  2.   pageBuilder: (context, animation, secondaryAnimation){ 
  3.     return new FadeTransition( //行使渐隐渐入过渡, 
  4.       opacity: animation, 
  5.       child: TestPage(), 
  6.     ); 
  7.   }) 
  8. ); 

要么修改Theme,同一两平台的实现。:

  1. class MyApp extends StatelessWidget { 
  2.  
  3.   static const Map _defaultBuilders = { 
  4.     TargetPlatform.android: FadeUpwardsPageTransitionsBuilder(), 
  5.     TargetPlatform.iOS: FadeUpwardsPageTransitionsBuilder(), 
  6.   }; 
  7.    
  8.   @override 
  9.   Widget build(BuildContext context) { 
  10.      
  11.     return MaterialApp( 
  12.       theme: ThemeData( 
  13.         pageTransitionsTheme: PageTransitionsTheme( 
  14.           builders: _defaultBuilders 
  15.         ) 
  16.       ), 
  17.       ... 
  18.     ); 
  19.   } 

(3)ScrollPhysics结果,可以滑动的部件都有一个physics属性。滑动到界线时,Android平台为边沿阴影的结果ClampingScrollPhysics,IOS为回弹结果BouncingScrollPhysics。假如必要同一,可以指定physics属性。

(4)状态栏方面,Android平台默认是半透明的结果,IOS则是透明结果。好比Android要实现IOS的结果,可以配置状态栏为透明。不外IOS要实现Android的结果则不可。。。,莫非只能自界说?有知道要领的可以分享一下。

  1. void main(){ 
  2.   runApp(MyApp()); 
  3.   // 透明状态栏 
  4.   if (Platform.isAndroid) { 
  5.     SystemUiOverlayStyle systemUiOverlayStyle =  
  6.     SystemUiOverlayStyle(statusBarColor: Colors.transparent); 
  7.     SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle); 
  8.   } 

5.输入键盘

当TextField的keyboardType属性配置为TextInputType.phone 或TextInputType.number时,IOS体系弹出的数字输入键盘没有"完成"按钮,导致输入法无法封锁。虽然了Android不存在这个题目。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读