IME ソフトウェアキーボードの表示について

338 views
Skip to first unread message

pino

unread,
Dec 15, 2010, 6:19:13 AM12/15/10
to 日本Androidの会
はじめまして!
初投稿させていただきますpinoと申します。
Androidのアプリケーションを作り始めてまだ1週間という所で、
駆け出しではありますがよろしくお願い致します。

現在、Activityを作り、EditTextをレイアウトしているだけの単純なアプリケーションを作成し、
Android2.2のエミュレータ上で動作確認をしております。

将来的にはソフトウェアキーボードを常時表示するようなアプリを作りたいのですが、
画面サイズによって表示できたり、できなかったりして困っています。

EditTextにフォーカスが当たった際にIMEが起動してソフトウェアキーボードが表示されると思いますが、
HVGAだと正常に表示でき、VGA、SVGAだとキーボードの予測部分1行程度しか表示というような状況です。
縦長の画面だとうまく表示できて、横長の画面だとうまく表示できないようです。。。

この問題に関しての解決方法を御存じの方がいらっしゃいましたら、
アドバイスをいただけると幸いです。

よろしくお願いいたします。

福光淳一

unread,
Dec 16, 2010, 4:03:26 AM12/16/10
to android-g...@googlegroups.com

こんにちは、福光と申します。

ソフトウェアキーボードについては下記のOpenWnnのソースコードをダウンロードして
ソースを読めばなんとなくわかると思います。
http://android.git.kernel.org/?p=platform/packages/inputmethods/OpenWnn.git

縦画面と横画面の切替えについてはどなたかが翻訳してくださっている下記サイトを
参考にして切替イベントを取得できるようにしてください。
http://www.techdoctranslator.com/android/guide/manifest/activity-element

方向切替時には、レイアウト自身を再作成するのが一般的な模様です。

あと、解像度によっておかしくなるのはキーボード定義のXMLなどにピクセルサイズを書かれているのではないでしょうか?
この辺りは多解像度対応関係で調べてみればいくつかヒットすると思います。

解決方法ではありませんが何かの参考になれば。。。

以上、よろしくお願いします。


2010年12月15日20:19 pino <pino...@gmail.com>:

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。


nagamatu

unread,
Dec 16, 2010, 4:30:27 AM12/16/10
to 日本Androidの会
InputMethodService.onEvaluateFullscreenModeが Landscapeモードでは falseを
返すので Overrideして変更しない限り IMEが Fullscreen Modeになってしまっている
んじゃなイカ?

http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/inputmethodservice/InputMethodService.java;h=1a261d3fa6ba347511e740b02ab4596b8a8dcdb7;hb=HEAD#l834

--

pino

unread,
Dec 19, 2010, 9:02:03 PM12/19/10
to 日本Androidの会
こんにちは、pinoです。
レス遅れまして大変申し訳ありません。。

>福光さん
XMLなどには、キーボード定義のレイアウトは現状しておりませんので、
EditTextにフォーカスが当たった時の
自動(?と言っていいのかわかりませんが。。。)レイアウトになっています。
まずは内部的にどのように動作しているか、感触をつかむためOpenWnnの
ソースコードを見てみます。

>nagamatuさん
参考のURLを見させていただきました。
Overrideなどもしていませんので、
Fullscreenになってしまっている可能性はありますね。
Overrideして変更処理を試してみようと思います。


まずは頂いた情報を試してみます。
御二方、アドバイスありがとうございました。
Reply all
Reply to author
Forward
0 new messages