PiClipをNokia Asha Platform端末に特化してみるテスト。その2。
前回の続き。
とりあえず画面上に目に見える部分から。
説明のために昨日と同じスクリーンショットを貼っておく。
Canvas
画面サイズがS40 DP2の400x240から320x240(QVGA)に変更になっている。
解像度だけでなくアスペクト比も変わっているので、再調整が必要かもしれない。ただ従来のJavaアプリはQVGAをターゲットにして作られていることが多いから、そういう意味ではより互換性が高まったとも言える。
余談だけど、一般的なQVGAを使うことによってハードウェアのコストも下がってるんじゃないかな。
画像左上は
Canvas#setFullScreenMode(true)
かつ
VirtualKeyboard.isVisible();
な状態。当然ながら、他のUI要素は全て非表示となる。
S40 DP2ではVirtualKeyboardの表示/非表示切り替えに伴ってCanvasのサイズが変化していたが、NAP1.0では変化しない。常にVirtualKeyboard非表示のサイズになる。したがって
Canvas#sizeChanged(int w, int h)
も呼ばれない。
画像右上及び左下は
Canvas#setFullScreenMode(false)
な状態。
Status Bar(上端の電波状況や時刻を表示している部分)は常に表示される。
Header Bar("Action"の部分)は
Displayable#setTitle(String s)
が設定される(nullでない)時のみ表示される。多分MIDP2.0準拠。
Toolbar(画面下部のグレー部分)は
- CategoryBarがある → CategoryBar表示
- CategoryBarがなく、Commandがある → Command表示
- CategoryBarもCommandもない → 非表示
となる。
IconCommandおよびCommand
S40 DP2では、IconCommandが画面右上角に表示できたが、NAP1.0では無くなった。
IconCommandは全てCommandとして認識される。すなわち文字表示される。
Commandが画面に表示できる場合、Priority最高のCommandがToolBarに表示され、それ以外は画面下端をスワイプすることによって表示できる。
なお、commandTypeに
Command.BACK
または
Command.EXIT
を設定すると、そのCommandがハードウェアBackキーに割り当てられる。S40 DP2だと画面右下角に表示されていたのが、ハードウェアキーに置きかわっただけ。
CategoryBar
S40 DP2ではいわゆるタブバー的な使い方しかできなかったのに対し、NAP1.0ではいわゆるツールバー的な使い方ができるようになった。
modeに
CategoryBar.ELEMENT_MODE_STAY_SELECTED
を設定するとタブバー的な挙動、
CategoryBar.ELEMENT_MODE_RELEASE_SELECTED
を設定するとツールバー的な挙動になる。IconCommandでアイコンボタンが表示できなくなったのをこれで代用できる。画像右上の『レ点』がまさにそれ。
設定できるCommand数は最大4個。(Backキー除く)
VirtualKeyboard
とりあえずデザインがダサい。もうちょっとどうにかして欲しい。
キーそのものはITU-T準拠で、今まで通り。
基本的に画面最前部に表示されて、画面タッチイベントを最優先で拾うけれど、VKBで拾われなかったとき*1はその背後のアプリで拾われる。
VKBを非表示にする操作はスワイプからBackキー押しに変わった。このとき
CommandListener#commandAction()
は呼ばれない。
その3に続く。
*1:キーとキーの間の緩衝帯をタッチした時など