feat: 整体常用控件封装,常用工具类。首页数据对接
This commit is contained in:
1 parent
d90d023e85
commit
fbcd33ea2b
50 files changed
+4558
-264
No files matched your search
@@ -1,6 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
|
||||
// 扩展Widget类以添加额外的布局和样式方法
|
||||
extension WidgetExtend on Widget {
|
||||
/// 在当前Widget外层添加一个Container
|
||||
@@ -43,7 +42,8 @@ extension WidgetExtend on Widget {
|
||||
padding: padding,
|
||||
alignment: alignment,
|
||||
clipBehavior: clipBehavior,
|
||||
constraints: constraints ??
|
||||
constraints:
|
||||
constraints ??
|
||||
BoxConstraints(
|
||||
minWidth: minWidth ?? 0.0,
|
||||
maxWidth: maxWidth ?? double.infinity,
|
||||
@@ -59,8 +59,9 @@ extension WidgetExtend on Widget {
|
||||
image: image,
|
||||
gradient: gradient,
|
||||
border: border,
|
||||
borderRadius:
|
||||
radius != null ? BorderRadius.circular(radius) : borderRadius,
|
||||
borderRadius: radius != null
|
||||
? BorderRadius.circular(radius)
|
||||
: borderRadius,
|
||||
),
|
||||
child: this,
|
||||
).addInkWell(onTap: onTap);
|
||||
@@ -84,10 +85,7 @@ extension WidgetExtend on Widget {
|
||||
///
|
||||
/// 通过此方法可以设置控件的对齐方式
|
||||
Widget addAlign({AlignmentGeometry alignment = Alignment.centerLeft}) {
|
||||
return Align(
|
||||
alignment: alignment,
|
||||
child: this,
|
||||
);
|
||||
return Align(alignment: alignment, child: this);
|
||||
}
|
||||
|
||||
Widget addCenter() {
|
||||
@@ -118,20 +116,14 @@ extension WidgetExtend on Widget {
|
||||
///
|
||||
/// 通过此方法可以控制控件的显示和隐藏
|
||||
Widget addVisibility({bool visible = true}) {
|
||||
return Visibility(
|
||||
visible: visible,
|
||||
child: this,
|
||||
);
|
||||
return Visibility(visible: visible, child: this);
|
||||
}
|
||||
|
||||
/// 在当前Widget外层添加一个Transform.rotate
|
||||
///
|
||||
/// 通过此方法可以设置控件的旋转角度
|
||||
Widget addRotate({double angle = 0}) {
|
||||
return Transform.rotate(
|
||||
angle: angle,
|
||||
child: this,
|
||||
);
|
||||
return Transform.rotate(angle: angle, child: this);
|
||||
}
|
||||
|
||||
/// 在当前Widget外层添加一个InkWell
|
||||
@@ -141,44 +133,27 @@ extension WidgetExtend on Widget {
|
||||
if (onTap == null) {
|
||||
return this;
|
||||
}
|
||||
return InkWell(
|
||||
onTap: onTap,
|
||||
child: this,
|
||||
);
|
||||
return InkWell(onTap: onTap, child: this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// 在当前Widget外层添加一个SizedBox
|
||||
///
|
||||
/// 通过此方法可以设置控件的宽高
|
||||
Widget addSize({double? width, double? height}) {
|
||||
return SizedBox(
|
||||
width: width,
|
||||
height: height,
|
||||
child: this,
|
||||
);
|
||||
return SizedBox(width: width, height: height, child: this);
|
||||
}
|
||||
|
||||
/// 在当前Widget外层添加一个Opacity
|
||||
///
|
||||
/// 通过此方法可以设置控件的透明度
|
||||
Widget addOpacity({double opacity = 1}) {
|
||||
return Opacity(
|
||||
opacity: opacity,
|
||||
child: this,
|
||||
);
|
||||
return Opacity(opacity: opacity, child: this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
extension OnRenderObjectWidget on RenderObjectWidget {
|
||||
SliverPadding addPaddingSliver({EdgeInsets? padding}) {
|
||||
return SliverPadding(
|
||||
padding: padding ?? EdgeInsets.zero,
|
||||
sliver: this,
|
||||
);
|
||||
return SliverPadding(padding: padding ?? EdgeInsets.zero, sliver: this);
|
||||
}
|
||||
|
||||
DecoratedSliver addDecoratedSliver({
|
||||
@@ -199,7 +174,7 @@ extension OnRenderObjectWidget on RenderObjectWidget {
|
||||
gradient: gradient,
|
||||
shape: shape ?? BoxShape.rectangle,
|
||||
),
|
||||
sliver: this.addPaddingSliver(padding: padding),
|
||||
sliver: addPaddingSliver(padding: padding),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user