Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
afd599df
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
afd599df
编写于
8月 11, 2015
作者:
A
Andrew Wilson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Maximum bounds for the mimic in the overlay can now be specified.
上级
8e99a3a0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
13 deletion
+18
-13
sky/packages/sky/lib/widgets/mimic_overlay.dart
sky/packages/sky/lib/widgets/mimic_overlay.dart
+18
-13
未找到文件。
sky/packages/sky/lib/widgets/mimic_overlay.dart
浏览文件 @
afd599df
...
...
@@ -15,13 +15,15 @@ class MimicOverlay extends AnimatedComponent {
this
.
children
,
this
.
overlay
,
this
.
duration
:
const
Duration
(
milliseconds:
200
),
this
.
curve
:
linear
this
.
curve
:
linear
,
this
.
targetRect
})
:
super
(
key:
key
);
List
<
Widget
>
children
;
GlobalKey
overlay
;
Duration
duration
;
Curve
curve
;
Rect
targetRect
;
void
syncFields
(
MimicOverlay
source
)
{
children
=
source
.
children
;
...
...
@@ -29,20 +31,28 @@ class MimicOverlay extends AnimatedComponent {
duration
=
source
.
duration
;
_expandPerformance
.
duration
=
duration
;
targetRect
=
source
.
targetRect
;
_mimicBounds
.
end
=
targetRect
;
if
(
_expandPerformance
.
isCompleted
)
{
_mimicBounds
.
value
=
_mimicBounds
.
end
;
}
curve
=
source
.
curve
;
_mimicBounds
.
curve
=
curve
;
if
(
overlay
!=
source
.
overlay
)
{
overlay
=
source
.
overlay
;
if
(
_expandPerformance
.
isDismissed
)
if
(
_expandPerformance
.
isDismissed
)
{
_activeOverlay
=
overlay
;
else
}
else
{
_expandPerformance
.
reverse
();
}
}
}
void
initState
()
{
_mimicBounds
=
new
AnimatedRect
(
new
Rect
(),
curve:
curve
);
_mimicBounds
.
end
=
targetRect
;
_expandPerformance
=
new
AnimationPerformance
()
..
duration
=
duration
..
addVariable
(
_mimicBounds
)
...
...
@@ -62,14 +72,11 @@ class MimicOverlay extends AnimatedComponent {
}
}
void
_handleStackSizeChanged
(
Size
size
)
{
_mimicBounds
.
end
=
Point
.
origin
&
size
;
}
void
_handleMimicCallback
(
Rect
globalBounds
)
{
setState
(()
{
// TODO(abarth): We need to convert global bounds into local coordinates.
_mimicBounds
.
begin
=
globalToLocal
(
globalBounds
.
topLeft
)
&
globalBounds
.
size
;
_mimicBounds
.
begin
=
globalToLocal
(
globalBounds
.
topLeft
)
&
globalBounds
.
size
;
_mimicBounds
.
value
=
_mimicBounds
.
begin
;
});
_expandPerformance
.
forward
();
...
...
@@ -78,8 +85,9 @@ class MimicOverlay extends AnimatedComponent {
Widget
build
()
{
List
<
Widget
>
layers
=
new
List
<
Widget
>();
if
(
children
!=
null
)
if
(
children
!=
null
)
{
layers
.
addAll
(
children
);
}
if
(
_activeOverlay
!=
null
)
{
layers
.
add
(
...
...
@@ -98,9 +106,6 @@ class MimicOverlay extends AnimatedComponent {
);
}
return
new
SizeObserver
(
callback:
_handleStackSizeChanged
,
child:
new
Stack
(
layers
)
);
return
new
Stack
(
layers
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录