Activity 起動時のソフトウェアキーボード表示について

818 views
Skip to first unread message

yusuke igarashi

unread,
Aug 29, 2010, 2:15:39 AM8/29/10
to 日本Androidの会
五十嵐と申します。

以前のディスカッション、

ソフトウェアキーボードの表示 http://groups.google.co.jp/group/android-group-japan/browse_thread/thread/4538c7d84ad982a0/

と関連しますが、EditText を持つ Activity において、起動時にソフトウェアキーボードを表示するかどうかが、異なるレイアウトや実
行環境(実機・エミュレーター)によっては一貫しません。

実行環境に依存するため、特定の挙動を期待すべきではないのでしょうか。
ご存知の方がいらっしゃれば教えていただければと思います。

具体的に確認した内容は以下の通りです。

環境
実機 : HT03A
エミュレーター : Android 1.6, 2.1, 2.2

1. LinearLayout を用いた場合
<LinearLayout>
<EditText/>
</LinearLayout>
実機 : 表示されない
エミュレーター : 表示されない

2. RelativeLayout を用いた場合
<RelativeLayout>
<EditText/>
</RelativeLayout>
実機 : 表示されない
エミュレーター : 表示されない

3. ScrollView と LinearLayout を用いた場合
<ScrollView>
<LinearLayout>
<EditText/>
</LinearLayout>
</ScrollView>
実機 : 表示する
エミュレーター : 表示されない

4. ScrollView と RelativeLayout を用いた場合
<ScrollView>
<RelativeLayout>
<EditText/>
</RelativeLayout>
</ScrollView>
実機 : 表示する
エミュレーター : 表示されない

以前のディスカッションで、

" どうやら画面表示が完了し
た後にフォーカスが当たらないとキーボードが表示されないらしいです。 "
http://groups.google.co.jp/group/android-group-japan/msg/bd243426ed6df53b

という指摘もありましたので、 ScrollView でラップした場合はフォーカスの当たるタイミングが異なるのかとも考えましたが、実機とエミュ
レーターでは異なる結果となりました。

細かい話題ですが、よろしくお願いします。

あんざいゆき

unread,
Aug 29, 2010, 3:46:06 AM8/29/10
to android-g...@googlegroups.com

五十嵐さん

   あんざいです。
   
    Window の setSoftInputMode() で SoftInputMode を設定してみてはどうでしょうか?
    Y.A.M の 雑記帳: Android 自動でソフトキーボードが出るのを防ぐ http://bit.ly/ay3D7M

2010/08/29 16:32 "yusuke igarashi" <igan...@gmail.com>:


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

yusuke igarashi

unread,
Aug 29, 2010, 5:17:24 AM8/29/10
to 日本Androidの会
あんざい さん

ありがとうございます、五十嵐です。

教えていただいた Window.setSoftInputMode() を試してみました。

SOFT_INPUT_STATE_ALWAYS_HIDDEN, SOFT_INPUT_STATE_HIDDEN を設定した場合は、
実機でキーボードが表示されていた ScrollView の場合も表示しなくなり、挙動は一貫しました。

一方、 SOFT_INPUT_STATE_ALWAYS_VISIBLE, SOFT_INPUT_STATE_VISIBLE を設定した場合、
ScrollView では
実機 : 表示する
エミュレーター : 表示しない
という結果となりました。

キーボードを出すか出さないかタッチ一度の差なので気にしなくていいのかな?という気もしていますが、もう少し試してみようと思います。


On 8月29日, 午後4:46, あんざいゆき <anzai.y...@gmail.com> wrote:
> 五十嵐さん
>
> あんざいです。
>
> Window の setSoftInputMode() で SoftInputMode を設定してみてはどうでしょうか?
> Y.A.M の 雑記帳: Android 自動でソフトキーボードが出るのを防ぐhttp://bit.ly/ay3D7M
>
> 2010/08/29 16:32 "yusuke igarashi" <igantr...@gmail.com>:
> 五十嵐と申します。
>
> 以前のディスカッション、
>
> ソフトウェアキーボードの表示http://groups.google.co.jp/group/android-group-japan/browse_thread/th...
> た後にフォーカスが当たらないとキーボードが表示されないらしいです。 "http://groups.google.co.jp/group/android-group-japan/msg/bd243426ed6d...
>
> という指摘もありましたので、 ScrollView でラップした場合はフォーカスの当たるタイミングが異なるのかとも考えましたが、実機とエミュ
> レーターでは異なる結果となりました。
>
> 細かい話題ですが、よろしくお願いします。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com<android-gro up-japan%2Bunsu...@googlegroups.com>にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。
Reply all
Reply to author
Forward
0 new messages