GWT: Как мне центрировать контент на панели? - PullRequest
0 голосов
/ 14 декабря 2011

Я использую GWT 2.4.У меня есть представление с некоторым простым контентом ...

    final Image ajaxImage = new Image("loading.gif");
    final Grid grid = new Grid(1, 2); 
    grid.setText(0, 0, "Loading...");
    grid.setWidget(0, 1, ajaxImage);
    this.container = new FlowPanel();
    this.container.add(grid);
    rootPanel = new SimplePanel();
    rootPanel.add(this.container);

Я бы хотел, чтобы этот контент центрировался по горизонтали и вертикали на содержащей панели, которая является FlowPanel, если это имеет значение.Как мне это сделать?

Спасибо, - Дейв

Ответы [ 3 ]

5 голосов
/ 24 июня 2013

Я знаю, как это сделать в вертикальной панели.

VerticalPanel panelPrincipal3 = new VerticalPanel();//Esto es el panel central, donde se centra todo
    panelPrincipal3.setWidth("100%");
    panelPrincipal3.setHeight("100%");
    panelPrincipal3.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    panelPrincipal3.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    panelPrincipal3.add(/*your panel*/);//here yo add whatever yo want, and should be centered
2 голосов
/ 24 июня 2013

если вы поместите ваш FlowPanel в качестве прямого потомка вашего RootPanel, вы можете попытаться установить его height на 100%.так что если у вас есть только сетка в качестве дочернего компонента для вашего контейнера, вы можете установить его выравнивания следующим образом:

container.setCellHorizontalAlignment( grid, HasHorizontalAlignment.ALIGN_CENTER );
container.setCellVerticalAlignment( grid, HasVerticalAlignment.ALIGN_MIDDLE );

Но если вы когда-нибудь передумали и переключитесь на UiBinder, выможет сделать что-то вроде этого:

<g:VerticalPanel spacing="0" width="100%" height="100%" ui:field="mainPanel">
    <g:Cell horizontalAlignment="ALIGN_CENTER" verticalAlignment="ALIGN_MIDDLE">
    <!-- content goes here -->
    </g:Cell>
</g:VerticalPanel>
1 голос
/ 15 декабря 2011

с CSS?margin:0 auto; и position:absolute; top:50%;?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...