ソフトウェアキーボード
prompt関数を利用するとソフトウェアキーボードを起動できます。 以下のサンプルでは、アクティブモード時に上矢印を押すとソフトウェアキーボードが出現します。
promptはAC2.0の機能なので、AC1.0とAC1.1では動作しないのでご注意下さい。 AC2.0を利用するには、info.xmlのscec部分に「AC2.0」と記述する必要があります。 2008年モデルからがAC2.0です。
layout.xml
<?xml version="1.0" encoding="UTF-8"?>
<Widget>
<Component name="widget">
<Bitmap name="initial-bg"/>
<Component name="normal">
<Bitmap name="normalBase"/>
</Component>
<Component name="focus" visible="0">
<Bitmap name="focusBase"/>
</Component>
<Component name="active" visible="0">
<Bitmap name="activeBase"/>
</Component>
</Component>
</Widget>
widget.js
var nodeNormal = getNode("normal");
var nodeNormalBase = getChildNode(nodeNormal, "normalBase");
var nodeFocus = getNode("focus");
var nodeFocusBase = getChildNode(nodeFocus, "focusBase");
var nodeActive = getNode("active");
var nodeActiveBase = getChildNode(nodeActive, "activeBase");
var mode = 0; // 0:normal, 1:focus, 2:active
function onLoad() {
loadImage(nodeNormalBase, "./parts/normal.png");
loadImage(nodeFocusBase, "./parts/focus.png");
}
function onUpKey() {
if (mode == 2) {
var result = prompt("keyboard name", "initial string", true);
print(result);
}
}
function onDownKey() {
}
function onRightKey() {
}
function onLeftKey() {
}
function onConfirmKey(type) {
}
function onFocus() {
mode = 1;
setVisible(nodeNormal, 0);
setVisible(nodeFocus, 1);
setVisible(nodeActive, 0);
}
function onUnfocus() {
mode = 0;
setVisible(nodeNormal, 1);
setVisible(nodeFocus, 0);
setVisible(nodeActive, 0);
}
function onActivate() {
mode = 2;
loadImage(nodeActiveBase, "./parts/active.png");
setVisible(nodeNormal, 0);
setVisible(nodeFocus, 0);
setVisible(nodeActive, 1);
}
info.xml
<?xml version="1.0" encoding="UTF-8"?>
<Info>
<name>prompt Test</name>
<preference>0</preference>
<height>165</height>
<width>280</width>
<profile>
<spec>AC2.0</spec>
</profile>
</Info>
サンプルダウンロード
ウィジェットバンドル : prompt.zip