スクリーンキーボード出現時に画面を上方にスクロールさせる

はまっていた問題が解決したので情報共有します。


引き続き、フットサル戦術ボードをFlexに移植しています。
AdobeProではクラシックテキストでテキストエリアを用意すれば、フォーカスしたときにネイティブのスクリーンキーボードが出現します。
スクリーンキーボードがテキストエリアにかぶさるようであれば、アプリケーションの画面が勝手に上方にスクロールしてくれました。
(前の記事にも書きましたが、TLFテキストだと上記の動きはされないので注意。AdobeによるとTLFテキストはモバイル向けに最適化されてないらしい。こういうのを最適化と呼ぶのは言葉の使い方がおかしいと思うけど。。。)

Flexでは、テキストエリアの部分はTextInputで実装しています。
ただ、フォーカスしたときに上方にスクロールしてくれなくてはまっていました。
結論から言いますと、
プロジェクト内の.*-app.xmlに囲まれている値がnoneになっていたらpanにしてください。
それだけでOK。

Adobeのオンラインヘルプ(http://help.adobe.com/ja_JP/flex/mobileapps/WS82181550ec4a666a39bafe0312d9a274c00-8000.html)には、
resizeForSoftKeyboardを使えだとか、を使えだとか書いてありますが、これらはnoneのときに自分で動作を実装するときの話です。
Adobeの日本語ヘルプは、テキストばっかりで読みにくいし、訳文がわかりにくいしで、読んでいても迷宮入りすることが多く、大いに不満です。
AdobeTVやTourDeFlexをうまく併用しましょう。

それにしても、デフォルト値はpanらしいんだけど、なぜかnoneになっていてはまってしまった。
noneに設定した覚えはないんだけど。。。
app.xmlでいろいろな設定ができるので、覚えようと思います。