flutter工业控件,flutter自定义控件

Flutter初学 —— 常用控件使用

在编写几个 Flutter 项目后,发现 Flutter 的强大之处在于业务中所有用到的控件以及场景都有对应的处理方案;而 Dart 语言也与 Java 、 Kotlin 类似,所以对 Android 开发者来说门槛非常低;特意记录一下常用的控件及其使用:

江华网站建设公司创新互联,江华网站设计制作,有大型网站制作公司丰富经验。已为江华数千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的江华做网站的公司定做!

StatelessWidget 不需要额外的创建 State

StatefulWidget 创建 State 类,并可以在其中保存一些状态

only 可以单独设置每个方向的内边距

类似于 LinearLayout 中的 orientation 设置为 vertical , mainAxisAlignment 表示竖向的一个对齐方式, crossAxisAlignment 表示横向的对齐方式

与 Column 相反,主轴是横向,对齐方式类似, crossAxisAlignment 表示竖向的对齐方式

类似 SizedBox ,一个容器,但是主要功能是有一个 decoration —— 装饰器,作用是绘制背景,或者使用 item 中的阴影

栈,先入后出,类似于 Android 上的 FrameLayout

通常配合 Stack 使用,固定显示在某一个位置

配合多 child 使用,会填充剩余的空间

Image 功能强大,使用不同的方法可以加载不同来源的图片

看到这些方法,突然觉得 Flutter 太香了,而且 Image 可以配置 clip 等裁剪出不同形状的图片,无论是圆形还是五角星都不在话下,然而 Android 要实现不规则的形状,可是要下不少功夫的。

名字和 Android 的一模一样,但是用法却比 Android 的简单很多:

主要就是 itemCount 与 itemBuilder ,其余就是配置样式, itemBuilder 需要返回一个 widget ,当然了,每个 ListView 都有其对应的 item ,在里面的方法中编写 widget 即可

与 ListView 类似,但是需要有一个 delegate 类,作用是设置有多少列,每一列之间的间距是多少

GridView 没有 build , children 表示所有的子 view

最常用的控件之一,有非常多的样式, Flutter 中通常是使用装饰器来处理控件的,如背景使用 BoxDecoration , TextFiled 使用 InputDecoration ; 使用如下

Flutter 之 Sliver 系列控件

SliverAppBar 控件,一个 MD 的 AppBar 。属性和 AppBar 类似,但做的效果比 AppBar 更加强大。相同的属性具体可以看 Flutter 之 Scaffold 控件 , 里面有 AppBar 控件的介绍。那么还有些没有的属性:

结合 elevation 使用,当elevation 不为 0 的时候,是否显示阴影

AppBar 展开时候的高度

true 的时候下滑AppBar优先滑动展示,展示完成后才给滑动控件滑动

snap 为 true, 则 floating 也要为 true 。true 的时候根据手指松开的位置展开或者收缩AppBar

appBar 收缩到最小高度的时候 appBar 是否可见

SliverAppBar 往往做为 CustomScrollView 的第一个子元素,根据滚动控件的偏移量或者浮动的位置来改变 SliverAppBar 的高度。所以具体用法如下

另外在上面设计到 FlexibleSpaceBar 控件,FlexibleSpaceBar 有个 collapseMode 属性

为 Sliver 系列控件添加一个 padding 。如给上面 SliverAppBar 添加一个 Padding 。

多行多列的列表控件,相当于 Android 的 GridView,有两个属性

SliverChildDelegate,这里有两种方式创建

SliverGridDelegate,也是有两种方式创建

结合上面展示效果

和上面 delegate 属性一样,需要创建一个 SliverChildDelegate 。

比 SliverList 多一个 itemExtent 属性,设置 item 的高度 。item 里面的子控件无法再改动高度。

上面 SliverAppBar 就是结合 SliverPersistentHeader 实现的效果,SliverPersistentHeader 需要一个 SliverPersistentHeaderDelegate 。 实现 SliverPersistentHeaderDelegate 有 4 个方法需要重写

至于效果,具体效果具体分析。

有一个 Widget 属性,主要作用是在 CustomScrollView 里面添加多种不同布局的样式。

占满一屏或者比一屏更多的布局,

滑动剩余部分展示的布局

flutter_经典控件(一):文本、图片和按钮在Flutter中怎么用?

1、单一样式的文本 Text

2、多种混合样式的文本 Text.rich

1、控件样式定制

Flutter - 显示/隐藏控件的几种方法

实际效果,不会占位,隐藏时 TestWidget 不会加载,可 else 一个占位(则会加载占位的组件)

实际效果,会占位,显示隐藏TestWidget都会加载

实际效果,不会占位,显示隐藏TestWidget都会加载

实际效果,可选择是否占位,不占位,隐藏时TestWidget不会加载,占位,显示隐藏TestWidget都会加载

Visibility 选择占位时,隐藏 TestWidget

Flutter 之 Cupertino 系列控件

IOS 风格的控件, 官网文档地址

过时了,用 CupertinoAlertDialog

通常用于CupertinoAlertDialog的一个button

iOS风格的导航栏. 通常和CupertinoPageScaffold一起使用。

一个iOS风格的页面的基本布局结构。包含内容和导航栏,和 CupertinoNavigationBar 一起使用。

标签式iOS应用程序的结构。将选项卡栏放在内容选项卡之上

CupertinoTabBar 是 iOS风格的底部选项卡。 通常和CupertinoTabScaffold一起使用。

支持选项卡间并行导航项卡的根内容。通常与CupertinoTabScaffolde一起使用

最后效果图为


网页标题:flutter工业控件,flutter自定义控件
网页链接:http://scyanting.com/article/dscoode.html