Tentando fazer com que o Uibinder me dê um período não um div
Pergunta
Estou construindo um widget com Uibinder e preciso tê -lo fechado em um <span />
Mas o Uibinder só me dá <div />
. Por exemplo <g:HTMLPanel />
=> <div />
. Horizonpanel, FlowPanel, VerticalPanel também apenas fornece <div />
.
Alguém sabe uma solução?
Solução
Experimente isso:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:HTMLPanel tag="span">
<!-- your stuff -->
</g:HTMLPanel>
</ui:UiBinder>
Outras dicas
Você pode continuar usando um <div>
Mas apenas adicione display: inline
para o seu CSS, o que fará com que seja exibido como se fosse um <span>
.
EDIT: Lugar fixo no final, onde eu disse 'div', mas significa 'span'.
Com relação à resposta acima por Robert (desculpe, não consigo descobrir como comentar isso diretamente)
Isso não funcionará fora da caixa, pois os widgets não podem ser colocados dentro de HTML simples (o compilador fornecerá "Erro: widget encontrado no contexto HTML"). Mas há uma solução alternativa simples:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:HTMLPanel>
<span>
<!-- Your content with widgets goes here -->
</span>
</g:HTMLPanel>
</ui:UiBinder>
Uma outra coisa útil a mencionar é a inlinehtml e os widgets inlinelabel capazes de manter html arbitário ou texto simples, respectivamente em um