提交 27f3d640 authored 作者: Kevin's avatar Kevin

修改了Toast的位置计算方式

上级 7fd8f603
## [0.1.6] - TODO:修改了Toast的位置计算方式
* TODO: 修改了Toast的位置计算方式
* TODO: 开放了Toast的位置设置
* TODO: 修改了README.md文档的大小
## [0.1.5] - TODO:添加了popoverConstraints参数 ## [0.1.5] - TODO:添加了popoverConstraints参数
* TODO: CupertionPopoverButton添加了CupertionPopoverButton参数,用于设置最大最小宽度,取消必填的高宽 * TODO: CupertionPopoverButton添加了CupertionPopoverButton参数,用于设置最大最小宽度,取消必填的高宽
......
...@@ -75,7 +75,8 @@ CupertinoPopoverButton( ...@@ -75,7 +75,8 @@ CupertinoPopoverButton(
}); });
``` ```
![Image text](./images/popover_demo.gif)
<img width="38%" height="38%" src="./images/popover_demo.gif"/>
## CupertinoPopoverMenuList ## CupertinoPopoverMenuList
Popover弹出的菜单样式列表,一般与[CupertinoPopoverMenuItem](#CupertinoPopoverMenuItem)一起用,会给两个Item加间隔线 Popover弹出的菜单样式列表,一般与[CupertinoPopoverMenuItem](#CupertinoPopoverMenuItem)一起用,会给两个Item加间隔线
...@@ -99,7 +100,7 @@ const CupertinoPopoverMenuItem({ ...@@ -99,7 +100,7 @@ const CupertinoPopoverMenuItem({
}); });
``` ```
| Param | Type | Description | | Param | Type | Description |
| --- | --- | --- | | --- | --- | --- | --- |
| [leading] | <code>Widget<Widget></code> | 菜单左边,一般放图标 | | [leading] | <code>Widget<Widget></code> | 菜单左边,一般放图标 |
| [child] | <code>Widget<Widget></code> | 菜单内容 | | [child] | <code>Widget<Widget></code> | 菜单内容 |
| [onTap] | <code>BoolCallback</code> | | 按钮点击事件,返回true取消默认反应(不关闭Popover) | | [onTap] | <code>BoolCallback</code> | | 按钮点击事件,返回true取消默认反应(不关闭Popover) |
...@@ -124,19 +125,21 @@ VoidCallback showWeuiToast({ ...@@ -124,19 +125,21 @@ VoidCallback showWeuiToast({
@required BuildContext context, @required BuildContext context,
@required Widget message, @required Widget message,
@required Widget icon, @required Widget icon,
Alignment alignment = const Alignment(0.0,-0.2),
RouteTransitionsBuilder transitionBuilder}) RouteTransitionsBuilder transitionBuilder})
``` ```
| Param | Type | Description | | Param | Type | Default | Description |
| --- | --- | --- | | --- | --- | --- | --- |
| [context] | <code>BuildContext<Widget></code> | 上下文 | | [context] | <code>BuildContext<Widget></code> | | 上下文 |
| [message] | <code>Widget<Widget></code> | 提示消息 | | [message] | <code>Widget<Widget></code> | | 提示消息 |
| [icon] | <code>Widget<Widget></code> | 图标 | | [alignment] | <code>Alignment<Widget></code>| 默认是居中偏上 | Toast的位置 |
| [transitionBuilder] | <code>RouteTransitionsBuilder<Widget></code> | 自定义过度动画 | | [icon] | <code>Widget<Widget></code> | | 图标 |
| [transitionBuilder] | <code>RouteTransitionsBuilder<Widget></code> | | 自定义过度动画 |
返回参数:VoidCallback,用于关闭Toast 返回参数:VoidCallback,用于关闭Toast
![Image text](./images/toast_demo.gif) <img width="38%" height="38%" src="./images/toast_demo.gif"/>
## showWeuiSuccessToast ## showWeuiSuccessToast
仿Weui的SuccessToast效果 仿Weui的SuccessToast效果
...@@ -144,6 +147,7 @@ VoidCallback showWeuiToast({ ...@@ -144,6 +147,7 @@ VoidCallback showWeuiToast({
Future showWeuiSuccessToast({ Future showWeuiSuccessToast({
@required BuildContext context, @required BuildContext context,
@required Widget message=const Text("成功"), @required Widget message=const Text("成功"),
Alignment alignment = const Alignment(0.0,-0.2),
RouteTransitionsBuilder transitionBuilder, RouteTransitionsBuilder transitionBuilder,
Duration closeDuration = const Duration(seconds: 3) Duration closeDuration = const Duration(seconds: 3)
}) })
...@@ -152,6 +156,7 @@ Future showWeuiSuccessToast({ ...@@ -152,6 +156,7 @@ Future showWeuiSuccessToast({
| --- | --- | --- | --- | | --- | --- | --- | --- |
| [context] | <code>BuildContext<Widget></code> | | 上下文 | | [context] | <code>BuildContext<Widget></code> | | 上下文 |
| [transitionBuilder] | <code>RouteTransitionsBuilder<Widget></code> | | 自定义过度动画 | | [transitionBuilder] | <code>RouteTransitionsBuilder<Widget></code> | | 自定义过度动画 |
| [alignment] | <code>Alignment<Widget></code>| 默认是居中偏上 | Toast的位置 |
| [message] | <code>Widget<Widget></code> | 成功| 提示消息 | | [message] | <code>Widget<Widget></code> | 成功| 提示消息 |
| [closeDuration] | <code>Duration<Widget></code> | 3s | 关闭时间 | | [closeDuration] | <code>Duration<Widget></code> | 3s | 关闭时间 |
...@@ -164,13 +169,15 @@ Future showWeuiSuccessToast({ ...@@ -164,13 +169,15 @@ Future showWeuiSuccessToast({
VoidCallback showWeuiToast({ VoidCallback showWeuiToast({
@required BuildContext context, @required BuildContext context,
@required Widget message, @required Widget message,
Alignment alignment = const Alignment(0.0,-0.2),
RouteTransitionsBuilder transitionBuilder RouteTransitionsBuilder transitionBuilder
}) })
``` ```
| Param | Type | Description | | Param | Type | Default | Description |
| --- | --- | --- | | --- | --- | --- | --- |
| [context] | <code>BuildContext<Widget></code> | 上下文 | | [context] | <code>BuildContext<Widget></code> | | 上下文 |
| [message] | <code>Widget<Widget></code> | 提示消息 | | [message] | <code>Widget<Widget></code> | | 提示消息 |
| [transitionBuilder] | <code>RouteTransitionsBuilder<Widget></code> | 自定义过度动画 | | [alignment] | <code>Alignment<Widget></code>| 默认是居中偏上 | Toast的位置 |
| [transitionBuilder] | <code>RouteTransitionsBuilder<Widget></code> | | 自定义过度动画 |
返回参数:VoidCallback,用于关闭Toast 返回参数:VoidCallback,用于关闭Toast
...@@ -6,9 +6,11 @@ class WeuiToast extends TransitionRoute{ ...@@ -6,9 +6,11 @@ class WeuiToast extends TransitionRoute{
final Widget icon; final Widget icon;
final RouteTransitionsBuilder _transitionBuilder; final RouteTransitionsBuilder _transitionBuilder;
final Duration closeDuration; final Duration closeDuration;
final Alignment alignment;
WeuiToast({ WeuiToast({
@required this.message, @required this.message,
@required this.icon, @required this.icon,
this.alignment = const Alignment(0.0,-0.2),
Duration transitionDuration = const Duration(milliseconds: 100), Duration transitionDuration = const Duration(milliseconds: 100),
RouteTransitionsBuilder transitionBuilder, RouteTransitionsBuilder transitionBuilder,
this.closeDuration this.closeDuration
...@@ -56,11 +58,9 @@ class WeuiToast extends TransitionRoute{ ...@@ -56,11 +58,9 @@ class WeuiToast extends TransitionRoute{
Widget _buildToastScope(BuildContext context){ Widget _buildToastScope(BuildContext context){
return Material( return Material(
color: Colors.transparent, color: Colors.transparent,
child: Column( child: Align(
mainAxisSize: MainAxisSize.min, alignment: this.alignment,
children: <Widget>[ child: IntrinsicHeight(
Padding(
padding: EdgeInsets.only(top: 180.0),
child: AnimatedBuilder( child: AnimatedBuilder(
animation: animation, animation: animation,
builder: (context,child){ builder: (context,child){
...@@ -95,9 +95,8 @@ class WeuiToast extends TransitionRoute{ ...@@ -95,9 +95,8 @@ class WeuiToast extends TransitionRoute{
), ),
), ),
), ),
)
],
), ),
)
); );
} }
...@@ -122,11 +121,13 @@ Future showWeuiSuccessToast({ ...@@ -122,11 +121,13 @@ Future showWeuiSuccessToast({
@required BuildContext context, @required BuildContext context,
Widget message=const Text("成功"), Widget message=const Text("成功"),
RouteTransitionsBuilder transitionBuilder, RouteTransitionsBuilder transitionBuilder,
Alignment alignment = const Alignment(0.0,-0.2),
Duration closeDuration = const Duration(seconds: 3) Duration closeDuration = const Duration(seconds: 3)
}){ }){
var hide = showWeuiToast( var hide = showWeuiToast(
context: context, context: context,
alignment: alignment,
message: message, message: message,
icon: Icon(CoolUIIcons.success_no_circle), icon: Icon(CoolUIIcons.success_no_circle),
transitionBuilder:transitionBuilder); transitionBuilder:transitionBuilder);
...@@ -140,10 +141,12 @@ Future showWeuiSuccessToast({ ...@@ -140,10 +141,12 @@ Future showWeuiSuccessToast({
VoidCallback showWeuiLoadingToast({ VoidCallback showWeuiLoadingToast({
@required BuildContext context, @required BuildContext context,
@required Widget message, @required Widget message,
Alignment alignment = const Alignment(0.0,-0.2),
RouteTransitionsBuilder transitionBuilder RouteTransitionsBuilder transitionBuilder
}){ }){
return showWeuiToast( return showWeuiToast(
context: context, context: context,
alignment: alignment,
message: message, message: message,
icon: WeuiLoadingIcon(), icon: WeuiLoadingIcon(),
transitionBuilder:transitionBuilder); transitionBuilder:transitionBuilder);
...@@ -153,13 +156,17 @@ VoidCallback showWeuiToast({ ...@@ -153,13 +156,17 @@ VoidCallback showWeuiToast({
@required BuildContext context, @required BuildContext context,
@required Widget message, @required Widget message,
@required Widget icon, @required Widget icon,
Alignment alignment = const Alignment(0.0,-0.2),
RouteTransitionsBuilder transitionBuilder}){ RouteTransitionsBuilder transitionBuilder}){
Completer<VoidCallback> result = Completer<VoidCallback>(); Completer<VoidCallback> result = Completer<VoidCallback>();
Navigator.of(context,rootNavigator: true).push( Navigator.of(context,rootNavigator: true).push(
WeuiToast( WeuiToast(
alignment: alignment,
message: Builder(builder: (context){ message: Builder(builder: (context){
if(!result.isCompleted){
result.complete(()=>Navigator.pop(context)); result.complete(()=>Navigator.pop(context));
}
return message; return message;
}), }),
icon: icon, icon: icon,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论