我有一对夫妇,其显示在视图GWT小部件。
该视图包含了这样的内容:
FlowPanel mainPanel = new FlowPanel();
RootPanel.get().add(mainPanel);
Label label = new Label("test");
mainPanel.add(label);
FlowPanel otherPanel = new FlowPanel();
mainPanel.add(otherPanel);
mainPanel中获得其最终高度后视图已经被完全呈现。 我需要的是完成了渲染过程之后从mainPanel中得到高度的价值。
这是我做的,到目前为止:
new Timer() {
@Override
public void run() {
int height = $(mainPanel).height();
// do something with the mainPanel height
}
}.schedule(300);
晚报:$(mainPanel中)是利用GWTQuery 。 我设置一个计时器,以希望视图渲染过程完成定时器触发时。 我想这是不是一个非常聪明的解决方案。
我怎样才能检测是否认为是为了获得mainPanel中的最终高度完全呈现?
编辑:
我也试着使用:
@Override
protected void onReveal() {
super.onReveal();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
// get mainPanel height is incorrect
}
});
}
但似乎渲染未完成,因此mainPanel中没有正确的高度。
编辑:
看来,调度使用SDM当工作在移动和桌面不同。 我创建了一个演示项目( https://github.com/confile/GWT-2.7-Scheduler-Test ),借以说明问题。
我创建了这个问题,另外一个问题在这里: https://stackoverflow.com/questions/27128787/gwt-2-7-scheduler-works-different-on-mobile-and-desktop-in-sdm