如何使PopupPanel居中

时间:2014-11-19 09:25:35

标签: javascript google-apps-script

google apps script内置的网络应用中,我想显示一个包含som文本和链接的弹出窗口。 我认为PopupPanel是要走的路。这就是我所做的:

  var app = UiApp.getActiveApplication();

  var popup = app.createPopupPanel()
  .setAnimationEnabled(true)
  .setModal(true)
  .setGlassEnabled(true)
  .setAutoHideEnabled(true);

  popup.add(app.createLabel('text text text'));

  popup.setPopupPosition(100, 100);
  popup.setHeight('300px');
  popup.setWidth('500px');

  popup.show();

但是我不想设置一个固定的位置,而是希望将该框放在当前窗口的中心位置。由于似乎没有这样的功能,我试图获得窗口的像素大小,或表单应用程序,或大小为100%的面板,但我无法从任何地方获得大小,似乎只有可以设置大小。

有没有办法让PopupPanel居中,或者以其他方式创建一个弹出窗口,将会居中?

1 个答案:

答案 0 :(得分:0)

我找到了一种做我想做的事的方法。不是最美丽的解决方案,但它确实有效。

  var app = UiApp.getActiveApplication();

  var popup = app.createPopupPanel()
  .setAnimationEnabled(true)
  .setModal(true)
  .setGlassEnabled(true)
  .setAutoHideEnabled(true);

  popup.add(app.createLabel('text text text'));

  popup.show();

  popup.setStyleAttribute('position', 'fixed');
  popup.setStyleAttribute('top', '100px');
  popup.setStyleAttribute('left', '25%');
  popup.setStyleAttribute('width', '50%');

.show()之后设置样式属性非常重要,因为该调用将设置position: absolutetop: 0left: 0