上記のパネルを使用して ui.xml ファイルのみを使用して絶対レイアウトを実行したいのですが、ドキュメントがコードに集中し、レイアウト言語を完全に無視しているため、これが可能かどうかは明確ではありません。チュートリアルではこれについて言及されていないため、不可能だと思いますが、確実に知りたいと思います。
2 に答える
これが古いことは知っていますが、AbsolutePanel の uibinder を更新しました
UiBinder テンプレートでの使用
UiBinder テンプレートの AbsolutePanel 要素は、要素を使用して絶対位置で子をレイアウトします。各 at 要素には、ピクセル単位の left 属性と top 属性が必要です。また、位置を指定せずにウィジェットの子を直接含めることもできます。
例えば:
<g:AbsolutePanel>
<g:at left='10' top='20'>
<g:Label>Lorem ipsum...</g:Label>
</g:at>
<g:Label>...dolores est.</g:Label>
</g:AbsolutePanel>
その通りです。現時点ではこれを行う方法はありません。これは、 で行われたように、いくつかのカスタム構文を導入することにより、将来の GWT リリースで対処される可能性DockLayoutPanel
があります。しかし、私はそれを疑っています - あなたは次のようなコードを書きたいと思うでしょう:
<g:AbsolutePanel ui:field="absolutePanel">
<g:Button x="50px" y="50px">Test</g:Button>
</g:AbsolutePanel>
ただし、これは「Bean」(Java Beans の場合のように。メソッドがある場合は、UiBinder コードにgetSomethingCool
書き込むことができ、適切な get/set メソッドを自動的に呼び出す) スタイルと競合します。メソッドがないためです。これは、コンパイル時に呼び出しを既存のメソッド (CSS ポジショニングなど) への適切な呼び出しに置き換えることで回避できます。しかし、これにより、ウィジェット/パネルのラッピングに依存する、さらに別のカスタム動作が導入されます。GWT 開発者はそれを避けたいと考えています。somethingCool="kewl"
Button
setX/Y
setX/Y