不知有没有学过flutter的大神,毕设要用flutter,dart语言,完全没接触过,可否指点一二?
你会java吧?
会java的话,dart上手只要5分钟
不要对编程语言有什么恐惧,像java,dart,swift,kotlin这些语言,你会其中一个,看其他都会觉得很容易
而且现在dart越做越像是java+swift,就大部分语法类似java,后续语法的发展,则从swift上借鉴
下面这个项目是我学习Flutter过程中整理的常用的Widget,组合起来可以完成一个可用的app,撸一遍可以上手了。
[项目地址](https://github.com/77Y/flutter_awesome#awesome-flutter)
https://github.com/77Y/flutter_awesome#awesome-flutter?github.comFlutter 项目开发中常用的 Widget 一些基础功能,由于每个 Widget 都有很多的属性,这里只列出了基本也是最常用的属性,更多的用法可以看 Widget 中每个属性的注释。我会持续更新这个 demo 集合,同时后续会增加更多自定义的 Widget。
DemoButton
常用的几种 Button
RaisedButton:Material Design 风格的 Button
FlatButton:扁平化的 Button
OutlineButton:带边框的 Button
IconButton:带 icon 的 Button
DemoClipRRect
使用 ClipRRect 设置圆角。给 Container 设置 BoxDecoration 如果 child 是图片的话圆角是无效的,可以使用 ClipRRect 给图片或者复杂的 Widget 设置圆角。
DemoColumn
列布局,继承自 Flex 可以对主轴和交叉轴进行设置来调整 Column 内的布局方式。
DemoRow
行布局,和列布局类似,继承自 Flex 可以对主轴和交叉轴进行设置来调整 Row 内的布局方式。
DemoExpanded
Expanded 必须方法 Flex 中,它会把 Flex 剩余的控制项撑满,同时还可以给 Expanded 设置撑开的比例。
DemoStack
栈布局,就像栈一样一层一层网上叠加,类似于 Android 里的 FrameLayout。可以通过 Positioned Widget 设置子 Widget 的位置。
DemoVisibility
控制 Widget 的隐藏和显示。
DemoOffstage
和 Visibility 类似控制 Widget 的隐藏和显示,比 Visibility 拥有更多的属性,可以在 Widget 隐藏之后不占用屏幕空间。
DemoSafeArea
安全区域,加上之后会自动适配 Android 或者 iOS 的刘海屏。
DemoPopMenuButton
弹出选择 Widget,有时候并不能完全满足我们的需求。
DemoBottomSheet
底部弹出 Widget。
DemoBottomModalSheet
模态的底部弹出 Widget。
DemoRefreshIndicator
Android 风格的下拉刷新
DemoBottomNavigationBar
底部导航
DemoDrawer
抽屉效果。
DemoSliverAppBarBasic
SliverAppBar的基本使用
DemoSliverAppBarAdvance
SliverAppBar 和 TabBarView 一起使用
DemoCustomScrollView
自定义 CustomScrollView 支持嵌套各种布局,如 List、Grid 等
DemoScrollController
滚动控制器,可以监听滚动过程中的位移。
DemoScrollNotification
滚动监听,可以监听滚动过程中的位移。
DemoRefreshLoadMore
简单自定义的下拉刷新和载入更多
图太大了
DemoCustomTimePicker
自定义时间选择控制项
DemoStateProvider
使用 Provider 实现的状态管理
跟Java差不多。
作为资深Android开发,写过Java、JS、kotlin,我认为Dart语言是非常优美的,Google出品,吸取了Java和JS等各种语言的优点,越写你会越加爱上他。
而flutter唯一支持的语言就是Dart,Google真的是用全部的力气去推动Flutter的发展,非常好用,我觉得未来移动端一定有Flutter的一席之地。
作为入门,我推荐以下几个网站:
flutter中文网:
Flutter中文网?flutter插件平台:
https://pub.dev/flutter/packages?优秀的flutter学习资源:
https://github.com/AweiLoveAndroid/Flutter-learning?除此之外,我自己也写了一些学习flutter的项目,喜欢的拿去:
Flutter练手项目:
https://github.com/xuexiangjys/FlutterSample?
Flutter程序模版工程:
https://github.com/xuexiangjys/flutter_template?Dart语言很简单,花两小时把官方教程看一遍,有问题可以用DartPad在线练习一下。
DartPad?Flutter也没啥难的,推荐《Flutter实战》,很快上手。
《Flutter实战》?推荐阅读: