0

単純なレイアウトを設定するのに問題があります。垂直パネルの下にキャンバスが必要です。何かのようなもの:

VerticalPanel parent = new VerticalPanel();
parent.setWidth("100%");
parent.setHeight("100%");

HorizontalPanel hp = new HorizontalPanel();
hp.setWidth("100%");
parent.add(hp);

Canvas canvas = Canvas.createIfSupported();
canvas.setWidth("100%");
canvas.setHeight("100%");
parent.add(canvas);

したがって、基本的には、トップパネルの「hp」をコンテンツに必要な高さだけにし、ページの残りの部分をキャンバス要素で埋める必要があります。しかし、奇妙な効果があります。キャンバスは画面の一部などを埋めているように見えます。レイアウト後の高さは約200ピクセルであると報告されますが、使用可能な高さは約600ピクセルである必要があります。

ありがとう

4

1 に答える 1

0

何も含まれていないか、サイズが設定されておらず、デフォルトで300pxであるため、おそらくキャンバスはすべてのスペースを占有しません。これを参照してください:GWTCanvas-画像を保存して開きます

アップデート:

垂直パネルと水平パネルは単なるHTMLテーブルです。中身の高さと同じくらいのスペースが必要になります。

代わりに、次を使用できます:DockLayoutPanel

public void onModuleLoad() 
{
    DockLayoutPanel dockLayoutPanel = new DockLayoutPanel(Unit.PCT);
    dockLayoutPanel.addNorth(new Label("My header"),5);

    Canvas canvas = Canvas.createIfSupported();
    canvas.getElement().getStyle().setBackgroundColor("red");
    canvas.setWidth("100%");
    canvas.setHeight("100%");

    dockLayoutPanel.add(canvas);

    RootLayoutPanel.get().add(dockLayoutPanel);
}

また、チェックしてください:開発者ガイド-パネルを使用したレイアウト

于 2012-11-13T20:41:08.023 に答える