private void hideKeyboard() {
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(labelText.getWindowToken(), 0);
}
ちょっとだけ気になったので。
activityにandroid:configChangesでkeyboardHidden
とか指定してやるとキーボードの開閉とのタイミングでonConfigurationChangedがよばれたと思いますが・・・試されました?
ソフトウェアキーボードの場合は取れないとかあったんでしたっけ?
試す時間も環境も気力もないのでキーワードだけですが。
以上よろしくお願いいたします。
大垣です。
>activityにandroid:configChangesでkeyboardHidden
>とか指定してやるとキーボードの開閉とのタイミングで
>onConfigurationChangedがよばれたと思いますが・・・試されました?
はい、試しました。"keyboardHidden"でも"keyboard"でも
onConfigurationChanged は呼ばれないみたいですね。
>ソフトウェアキーボードの場合は取れないとかあったんでしたっけ?
リファレンスを見ると、想定しているのは外部キーボードのようですね。
"keyboard" ... キーボードが変更された。例えば、ユーザが外部キーボードを差し込んだ場合。
"keyboardHidden" ... キーボードのアクセシビリティが変更された。例えば、ユーザがキーボードを外に引き出した。
2011年5月20日12:09 mokkouyou <mokk...@gmail.com>:
mokkouyouです。
adjustResizeとの組み合わせでも駄目でしたか、、、
自分で出すIMEなら、引数でResultReceiverなんて使えそうなインスタンス渡せるみたいなんですけどね。(名前的にですけど。)
こいつが使えるようなら全ての入力系を自前で、、、ってのは数にもよるけど非現実的だったりしますよね(+_+)
大垣です.
> isActive(View view)の挙動を調べてみたのですが、viewがインプットメソッドに紐付いているかを
> 調べるもののようで、キーボード
> の表示・非表示とは関係ないようです;
> 複数の TextEdit がある場合に、自分んとこがインプットの受け取り手になってるか?を
> 判別する等に使うっぽいですね。
てきとうなことを言ってお手数をおかけしてしまい、どうもすみませんでした。
ちょっと責任を感じて、InputMethod関係のソースコードを確認中です。。。
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
大垣です。ご登場のしかたが、なんか、かっこいいです。
int visible = rect.bottom - rect.top;
int display = a.getWindowManager().getDefaultDisplay().getHeight();
int space = display - visible;
if (space > 130) {
このDefaultDisplayの高さとWindowVisibleDisplayFrameの高さの差が
130 以上なら、という部分ですね。
できれば、130の意味が分かっておきたいかも。。。
2011年5月21日21:15 doralos alen <alend...@gmail.com>:
大垣です。ありがとうございます。
> softkeyboardの高さが130px以上と思っています。
はい、そのことが気になっていて、ソフトキーボードの高さって
端末とユーザによって異なるのではないかと。
たとえば、1行キーボードの人もいるかも?
すみません、細かいことであげあしとる気はないのですけど。。。