私はでGWT
mobile
アプリケーションを開発していますGWT 2.4
。ズームまたは通常のビューDialogBox
で、常にユーザーの中央に表示されるようにしたいと思います。viewport
通常のビューでcenter()
は処理できますが、ページがズームするDialogBox
と、ユーザーのビューポートの中央ではなく、ページのスクロール部分を含むブラウザウィンドウ全体の中央にポップが表示されます。これを行う方法?助けてください。前もって感謝します。
質問する
375 次
2 に答える
0
ズームイベントをキャッチするハンドラーをウィンドウにアタッチする必要があります。このハンドラーでは、
myDialogBox.setPopupPosition((Window.getClientWidth() - myDialogBox.getOffsetWidth())/2, (Window.getClientHeight() - myDialogBox.getOffsetHeight())/2);
}
別の方法で処理したい場合は、ダイアログがブラウザウィンドウよりも大きい場合の状況のチェックを追加する必要がある場合があります。
于 2012-10-02T15:29:18.513 に答える
0
implements ResizeHandler
ウィンドウとそのコンストラクターで、ハンドラー>を追加する必要がありResizeEvent
ますWindow.addResizeHandler(this);
。インターフェイスを実装しているのでResizeHandler
、以下をオーバーライドする必要があります。
@Override
public void onResize(ResizeEvent event) {
if (isShowing() ) { //check if popup is showing
int left = (Window.getClientWidth() * 0.5 - (widthOfMyWindow * 0.5) );
int top = (Window.getClientHeight() * 0.5 - (heightOfMyWindow * 0.5) );
setPopupPosition( left < 10 ? 10 : left, top < 0 ? 0 : top );
}
}
于 2013-07-16T02:23:05.910 に答える