You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Row(
children: <Widget>[
Text('Begin'),
Spacer(), // Defaults to a flex of one.
Text('Middle'),
// Gives twice the space between Middle and End than Begin and Middle.
Spacer(flex: 2),
Text('End'),
],
),
前言
鉴于市面上关于 Flutter 常用widget介绍已经非常多了,这里主要介绍下那些不常用,但是也非常实用的一些widget。
原文地址:Nealyang/personalBlog
demo地址:Nealyang/flutter
Widgets && property
Opacity
Opactiy 透明度,跟css的属性非常相似,连带child也同样透明,当然,其实Opacity本身是一个widget,如果不添加child也就没有透明的意义。
Opacity控制子 Widget 的透明度,opacity 属性为必传,可以设置 0.0~1.0之间的值。
FadeInImage
带有淡入动画的 Image 组件,placeHodler是image到目标图片的一种过渡widget。使用FadeInImage可以类似网络加载的图片以一个更加优雅的形式出现在屏幕上,如果这个图片已经被加载了,或者已经存在内存中,那么placeholder图片将不会显示。
FadeInImage的写法跟Image类似,有很多别的命名构造函数。fadeOutDuration和fadeOutCurve控制placeholder的淡出动画。fadeInDuration和fadeInCurve控制目标图像的淡入动画,对于placeholder,更倾向于使用已经缓存的,以防止他也会突然的出现在屏幕上
CachedNetworkImage
这个可以说是 FadeInImage 的升级版,倒是并非官方widget,而是一个package。
CachedNetworkImage 中有两个非常重要的属性:
具体的使用方法和 FadeInImage 非常的相似,这里就不做演示了,大家可以自行尝试下
WillPopScope
导航的返回监听,其中回调方法中返回一个 bool 类型的值,true 为退出页面,false则反。
Chip
标签,类似于and中的Tag,
Spacer
简单来说,这是一个占位的widget,当然,对于布局定位我们可以使用margin来解决。但是如果抽离出组件的话,非相关属性当然还是不能放到组件内部的,或者做成可配置的。
对于占位,我们熟知的还有SizedBox,但是 SizedBox 只能指定宽度和高度,并不能适用于我们常规使用的 Flex 布局系列。而这,正是我们介绍的 Spacer 用武之地
DefaultTextStyle
统一文本样式,文档的解释是,应用于没有显示指定文本样式的子代文本组件。
当然,我们可以为App整体的文本设置基调风格,通过MaterialApp中指定textTheme属性即可。但是如若是需要统一某一个页面的文本样式, DefaultTextStyle 还是首当其选。
The text was updated successfully, but these errors were encountered: