Q1:完全に答えることはできませんが、、、、またはを使用してsetWidth
、ほとんどの要素をパーセンテージの幅と高さに設定できるようです。setHeight
setSize
Q2:onFocusハンドラーを設定して、ユーザーがフィールドをクリックしたときにテキストが消えるようにします(このアクションは要素の「フォーカス」と呼ばれます)。これはClientHandlerを使用して実行できます。つまり、高速になります。
var text = app.createTextBox().setId("textbox").setName("textbox")
.setStyleAttribute("color","gray").setValue("Input text here");
var focusHandler = app.createClientHandler().forEventSource().setText("")
.setStyleAttribute("color","black");
text.addFocusHandler(focusHandler);
ユーザーがフィールドを空白のままにした場合は、元のテキストに戻して再び灰色にすることができますが、フィールドが空白かどうかを確認する必要があるため、今回はServerHandlerを使用する必要があります。また、フィールドを離れることは「ぼかし」と呼ばれます。
var blurHandler = app.createServerHandler("textboxBlurred").addCallbackElement(text);
text.addBlurHandler(blurHandler);
...
function textboxBlurred(e) {
var app = UiApp.getActiveApplication();
if (e.parameter.textbox=="") {
var box = app.getElementById("textbox");
box.setValue("Input text here");
box.setStyleAttribute("color", "gray");
}
return app;
}