flutter:styled_widget组件源码查看06
背景
昨天我们简单介绍了一下styled_widget的功能,今天我们来详细的看看有该框架有哪些Widget,另外是如何实现的 ,Widget列表传送门
widget介绍
scale
功能: 放大缩小
选填参数:
double? all: xy同时放大或缩小
double? x: 横向放大或缩小(x,y需要同时设置)
double? y: 纵向放大或缩小(x,y需要同时设置)
Offset? origin:偏移
默认参数:
AlignmentGeometry alignment = Alignment.center:对齐方式
bool transformHitTests = true:点击
bool animate = false: 为true时使用动画扩展
该widget也是拥有动画效果,对Transform进行封装实现
Transform(
key: key,
transform: Matrix4.diagonal3Values(x ?? all ?? 0, y ?? all ?? 0, 1.0),
alignment: alignment,
child: this,
origin: origin,
transformHitTests: transformHitTests,
)
效果展示及代码
Container(
child: Text('scale').center().scale(x: 2,y: 3)
)
transform
功能: 实现各种变换效果
必填参数:Matrix4 transform
选填参数:
Offset? origin:偏移
AlignmentGeometry alignment:对齐方式
默认参数:
bool transformHitTests = true:点击
bool animate = false: 为true时使用动画扩展
该widget也是拥有动画效果,对Transform进行封装实现
Transform(
key: key,
transform: transform,
alignment: alignment,
origin: origin,
transformHitTests: transformHitTests,
child: this,
)
overflow
功能: 允许溢出容器显示
选填参数:
double? minWidth: 最小宽度
double? maxWidth: 最大宽度
double? minHeight: 最小高度
double? maxHeight: 最大高度
默认参数:
AlignmentGeometry alignment = Alignment.center:对齐方式
bool animate = false: 为true时使用动画扩展
该widget也是拥有动画效果,对OverflowBox
进行封装实现,正常flutter的widget溢出容器后会报错,当使用overflow时不会报错
OverflowBox(
key: key,
alignment: alignment,
minWidth: minWidth,
maxWidth: minWidth,
minHeight: minHeight,
maxHeight: maxHeight,
child: this,
)
scrollable
功能: 单个组件滚动,性能不如listview,因为没有懒加载,适合少量widget
选填参数:
bool? primary: 控制子组件滚动事件
ScrollPhysics? physics:响应用户输入
ScrollController? controller:控制器
默认参数:
Axis scrollDirection = Axis.vertical:设置滚动方向
bool reverse = false: 反转滚动方向
DragStartBehavior dragStartBehavior = DragStartBehavior.start:
该widget也是拥有动画效果,对SingleChildScrollView
进行封装实现
SingleChildScrollView(
key: key,
child: this,
scrollDirection: scrollDirection,
reverse: reverse,
primary: primary,
physics: physics,
controller: controller,
dragStartBehavior: dragStartBehavior,
)
结语
希望大家把一些好的三方分享出来,打在评论区,共同学习,共同进步
作为Flutter届的一个小学生,希望大家多多指教
转载自:https://juejin.cn/post/7032586934044229668