【发布时间】:2013-11-19 14:47:33
【问题描述】:
我们需要相对于容器的顶部和中心来定位一个受约束的窗口(如example)。但在配置中,我们只发现 x 和 y 需要计算每个文档更改的中心。
没有其他方法可以存档吗?
【问题讨论】:
我们需要相对于容器的顶部和中心来定位一个受约束的窗口(如example)。但在配置中,我们只发现 x 和 y 需要计算每个文档更改的中心。
没有其他方法可以存档吗?
【问题讨论】:
你可以使用
alignTo(element, [position], [offsets], [animate] )
将元素与相对于指定元素的另一个元素对齐 锚点。如果另一个元素是它对齐的文档 视口。 position参数是可选的,可以指定 采用以下任一格式:
Blank:默认对齐元素的左上角 目标的左下角(“tl-bl”)。一个锚(已弃用): 传递的锚点位置用作目标元素的锚点。 被对齐的元素会将其左上角 (tl) 定位到 那一点。此方法已被弃用,取而代之的是较新的两个 下面的锚语法。两个锚点:如果下表中的两个值 以破折号分隔传递,第一个值用作 元素的锚点,第二个值作为目标的 锚点。除了锚点,位置参数 还支持“?”特点。如果 ”?”在结束时通过 位置字符串,元素将尝试按指定对齐,但是 位置将被调整以限制到视口,如果 必要的。请注意,正在对齐的元素可能会交换为 对齐到与指定位置不同的位置以强制执行 视口约束。以下是所有支持的锚点 职位...有关更多信息,请参阅docs
或
anchorTo(element, [position], [offsets], [animate], [monitorScroll], [callback])
将一个元素锚定到另一个元素,并在调整窗口大小时重新对齐。
编辑
如果您在早期执行此操作,则定位可能会失败。我会尝试使用Ext.Function.createDelayed 为对齐添加延迟。尝试 10-50 之间的延迟。
例子:
Ext.Function.createDelayed(windowRef.anchorTo,50)(Ext.getBody(),'t-t',[-100,0]);
【讨论】:
alignTo(contrainingRef,'t-t',[-100,0])、alignTo(Ext.getBody(),'t-t',[-100,0])、anchorTo(contrainingRef,'t-t',[-100,0]) 和 anchorTo(Ext.getBody(),'t-t',[-100,0])。我们在 setVisible() 之前和之后尝试过。他们都没有改变窗口的对齐方式。