0

GWT 2.3.0 と GXT 2.2.5 を使用してアプリケーションを開発しています。

ScrollMode が AUTO に設定され、レイアウトが水平方向の RowLayout に設定された LayoutContainer があります。アプリケーションの表示ウィンドウとして使用されます。

問題は、垂直スクロールバーが表示されるようにブラウザのサイズを変更すると、内容がそれを考慮してサイズ変更されず、水平スクロールバーが必要でなくても表示されることです。

ウィジェットをレンダリングするときに、スクロールバーが占めるスペースをレイアウトに反映させる方法はありますか?

4

1 に答える 1

0

わかりました、それを達成するのは少し難しいです。私は次のようにします:エントリポイントで(常にアクティブであることがわかるように)ウィンドウにサイズ変更ハンドラーを追加します

Window.addResizeHandler(new ResizeHandler() {
    @Override
    public void onResize(ResizeEvent event) {
         // Fire Event containing the new size informing the application of the change
         // Or resize the Layout container
    }
}

イベントを起動することを選択し、MVP パターンを使用している場合、イベント バスを介してイベントを起動し、アプリケーション内の好きな場所でキャッチするのは非常に簡単です。

ここでの唯一のonResize()問題は、サイズ変更が完了する前にイベントが発生するため、多くの場合、報告されたウィンドウの幅/高さが最終値ではないため、タイマー内で関数を実行したい場合があることです。

于 2012-10-27T09:48:32.393 に答える