【问题标题】:GWT TabLayoutPanel ie7 first tab collapsedGWT TabLayoutPanel ie7 第一个选项卡折叠
【发布时间】:2011-09-25 10:28:48
【问题描述】:

我有一个从 ie7 访问的 TabLayoutPanel。我第一次查看标签时,它是折叠的~32px x 32px。如果我选择第二个选项卡,内容区域会填满,我可以返回到第一个选项卡,它看起来是正确的。我正在使用tablayoutpanel的所有祖先都是某种形式的layoutpanel。它适用于ie8和chrome。有什么想法吗?

更新:我注意到调整大小不适用于选项卡面板。只有当我在选项卡之间切换时,面板才会调整大小。当我更改浏览器窗口大小时,选项卡面板保持相同大小。第二次我更改选项卡,选项卡面板正确填充浏览器。

【问题讨论】:

  • 您使用的是哪个版本的 GWT?有一个相关的错误:code.google.com/p/google-web-toolkit/issues/detail?id=4596,我不确定您是否看到该问题的次要影响。 (人们报告说,这个特定问题已得到修复,但错误状态尚未更新。)
  • 不,不是这样。我正在使用 GWT 2.3,该问题说它适用于 ie7,而我的问题与该问题相反。它只在更改标签后更新大小。
  • 我想知道,#4596 的(非官方批准的)修复是否真正引入您的问题

标签: gwt gwt-tablayoutpanel layoutpanels


【解决方案1】:

我看不出问题 4596 是如何解决的(无论如何在 2.3.0 中都没有),我在 ie7 下看到了完全相同的效果。

幸运的是,您可以在视图或您正在使用的任何组合中添加解决方法。它对我有用,但请注意我指定了 TabLayoutPanel 的大小,因为它位于 HTMLPanel 的中间。

@Override
protected void onAttach() {
  super.onAttach();
  tabPanel.forceLayout();
}

【讨论】:

    【解决方案2】:

    在将选项卡添加到页面之前,您是否偶然将选项卡添加到 TabLayoutPanel?

    我注意到,如果您将 TabLayoutPanel 添加到页面,然后添加选项卡,这个问题就会消失。

    【讨论】:

      【解决方案3】:

      Guillaume 的解决方案几乎对我有用,只是我必须在下一个事件循环期间运行它(不要问我为什么):

      Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand()
      {
        public void execute()
        {
          tabPanel.forceLayout();
        }
      });
      

      【讨论】:

        【解决方案4】:

        我也有类似的问题。我明确调用

        tabPanel.selectTab(0);
        

        然后当我第一次使用选项卡式面板访问我的 UI 时,组件会正确显示。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-04
          • 2015-05-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-23
          相关资源
          最近更新 更多