7

いくつかのEditTextウィジェットとボタンを備えた非常にシンプルな画面があります。エミュレーターで、EditTextウィジェットをクリックすると、仮想キーボードが表示されます。しかし、私はそれを取り除くことができないようです。画面上の何もないスペースをクリックしても、消えることはありません。仮想のReturnキーまたはハードウェアの[戻る]ボタンをクリックするだけで、仮想のReturnキーが消えます。

私は実際のAndroidスマートフォンを持っていないので、これはエミュレーターだけのものですか、それとも実際のデバイスではこのようになりますか。もしそうなら、フォームの他の場所をクリックしたときに、仮想キーボードをなくすために何ができますか?

4

6 に答える 6

7

戻るボタンをクリックします。彼らのキーボードは活動です。画面のランダムな領域をクリックするときにキーボードを削除する簡単な方法はありません。

于 2010-12-29T06:28:04.077 に答える
4

AngryHacker、Androidソフトキーボードを閉じる/非表示にする方法については、この投稿を参照してください。

お役に立てれば。

于 2010-12-29T08:23:19.597 に答える
2

エミュレーターでは、Escapeキーを押してキーボードを非表示にできると思います。実際のデバイスでは、キーボードに非表示ボタンがあります。または、UIの他の場所を押すこともできます。とにかくそれが私のHTCDesireSでどのように機能するかです。

于 2011-07-25T20:24:59.270 に答える
2

私はこの問題を生き、それを解決しました。この問題はInputMethodManager.SHOW_FORCED私のプロジェクトの価値に関するものです。を使用してキーパッドを開くSHOW_FORCEDと、キーパッドを閉じようとすると、キーパッドが閉じませんでした。

例えば ​​:

activity.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(view, InputMethodManager.SHOW_FORCED);

上記の方法を使用してキーパッドを開く場合は、SHOW_FORCED値をSHOW_IMPLICIT値に変更しようとする可能性があります

例えば ​​:

activity.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
于 2016-03-03T17:25:55.303 に答える
0

Andriod2.3.6を実行しているGalaxyS2があります。
Webサイトにログインするときに必要なテキストを入力した後、キーボードが邪魔にならないという問題がありました。ハードウェアの戻るボタンを押すと、仮想キーボードが邪魔にならないことがわかりました。ただし、場合によっては、Webブラウザが1ページ戻ることがあります。接続しているWebサイトのログイン情報を再入力する必要があるため、これはイライラします。うまくいけば、Android4.xはこれらのグリッチな問題のいくつかを解決しました。

于 2013-02-18T16:54:27.667 に答える
0

これは、次の手順で実行できます。

  1. 次の属性を追加して、親ビュー(アクティビティのコンテンツビュー)をクリックおよびフォーカス可能にします

        android:clickable="true" 
        android:focusableInTouchMode="true" 
    
  2. HideKeyboard()メソッドを実装します

        public void hideKeyboard(View view) {
            InputMethodManager inputMethodManager =(InputMethodManager)getSystemService(Activity.INPUT_METHOD_SERVICE);
            inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
        }
    
  3. 最後に、エディットテキストのonFocusChangeListenerを設定します。

        edittext.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (!hasFocus) {
                    hideKeyboard(v);
                }
            }
        });
    

ソース

于 2014-09-10T11:54:00.107 に答える