重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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
主要是关注decoration (装饰) 可以设置container的属性,这里color指的是背景色
alertdialog会返回一个结果,这样可以通过switch或其他方法做多次弹框等其他操作
在 Flutter 中的组件样式,都是通过组件上的 style 属性进行设置的,这与 React Native 很类似。
例如,在 Text 组件里设置样式。
与 React Native 不同的是,有一些样式不不能在 style 里面设置的。例如 width,height,color 等属性。因为 Flutter 认为这样应该是组件的属性而不是样式。
边距只要是 padding(内边距) 和 margin(外边距)两个设置。边距只适用于 Container。
如果要使用绝对定位,那么需要把内容包裹在 Positioned 容器里,而 Positioned 又需要包裹在 Stack 容器里。
容器的边框设置,使用 Border 对象。边框只适用于 Container。
要设置容器的圆角,使用 BorderRadius 对象,它只能使用于 Container。
BorderRadius 有以下的属性与方法。
在 Flutter 里设置阴影效果,需要使用 BoxShadow 对象。阴影效果只适用于 Container。
等效于 css 上的阴影效果设置。