スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

画面起動時にソフトキーボードを自動的に表示する方法

画面を開いた時にソフトキーボードを開く方法をWEBで調べてみたところ、結構多くのサイトでやり方が紹介されていた。
しかし、実際にやってみると上手くいかないやり方が多く、思った以上に苦労した。WEBの情報でも、エミュレータでは上手くいくけど実機ではダメとか、その逆も。更には、機種によってうまくいかないとか・・・。どうやら機種依存がありそうな雰囲気。

私の所有しているEVO WiMAXとminipad-s(中華Pad)では、下のやり方でソフトキーボードを表示することに成功した。

まず、Activityが表示されたタイミングで、EditTextコントロールにフォーカスを与える。


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // フォーカスをセット
        editText.requestFocus();
     }


次に、EditTextコントロールがフォーカスを受けた時の処理を追加する。ここでソフトキーを表示するコードを書けば実現できそうな気がするが、残念ながらそれでは無理だった。フォーカスイベントから抜けた後にコードを書けばうまくいくことが分かったので、ソフトキーを表示する処理を遅延呼び出しすることに。


    // ウィンドウのフォーカス変更イベント
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);

        // EditTextのインスタンスを取得
        EditText editText = (EditText)findViewById(R.id.dmyText);
       
        // EditTextがフォーカスを取得した場合
        if(hasFocus && editText == getCurrentFocus()) {
            new Handler().postDelayed( showKeyboardDelay , 10);
        }
    }


そして最後に、上記のコードでPOSTされるメソッドを実装する。


    // ソフトキーボード表示の遅延実行処理
    private final Runnable showKeyboardDelay = new Runnable() {
        @Override
        public void run() {
            EditText editText = (EditText)findViewById(R.id.dmyText);
            // ソフトキーボードを表示
            InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(editText, 0);
        }
    };


10msecとしているが、どのぐらいの時間が妥当なのかは良く分からない。1msecでも問題ないのか、タイミングや機種によってダメなのか・・・。まぁ、もう少し値を調整しながら検証してみようと思う。(試した方は情報をいただけるとありがたいです)

予断だが、iPhoneの場合は↓のような感じで対応した。
キーボードを自動的に表示する方法 - あらきんぐのiPhoneアプリ開発ブログ
スポンサーサイト

comment

管理者にだけ表示を許可する

Androidアプリ紹介
リリース中のアプリはまだありません。
iPhoneアプリ紹介
タイピング革命
フリック入力はタイピング革命で練習しよう!ネットランキングがウリのタイピングアプリ

icon-l-typing.jpg

初心者も安心のトレーニングモード搭載!リプレイ機能でオンラインランキング上の達人のプレイを見てみよう!



簡単3Dカメラ
iPhoneで手軽に3D写真を楽しもう!平行法/交差法/アナグリフ/グラグラ3Dに対応。
icon-l-3d.jpg

2枚の写真を撮影するだけで、裸眼で立体視できる3D写真が作成できます。平行法、交差法、アナグリフ、グラグラ3Dと多彩なモードを搭載。85円でこの機能を体感できるのは簡単3Dカメラだけ!

プロフィール

あらきんぐ★

Author:あらきんぐ★
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
アクセスランキング
[ジャンルランキング]
携帯電話・PHS
276位
アクセスランキングを見る>>

[サブジャンルランキング]
Android(Google)
68位
アクセスランキングを見る>>
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。