33

Androidでは、デバイスのキーパッドを常にアプリケーションに表示するにはどうすればよいですか? 上部にはアプリケーションがレンダリングするコンテンツが表示され、下部には常にキーパッドが表示されます。

4

3 に答える 3

47

AndroidManifest.xml ファイルのアクティビティに android:windowSoftInputMode="stateAlwaysVisible" を追加します。

<activity android:name=".MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateAlwaysVisible" />

私のテストアプリでは、アプリケーションの起動時にキーボードが表示されますが、修正されていませんが、戻るボタンを押すと閉じることができます。

キーボードが常に表示されるようにするには、アプリケーションの UI の一部として独自のキーボードを作成する必要がある場合があります。これは、KeyboardView でこれを行う方法を示すチュートリアルです: http://www.fampennings.nl/maarten/android/09keyboard/index.htm

于 2009-10-02T14:51:21.993 に答える
12

EditTextレイアウトに が必要であり、EditText基本クラスを拡張する必要があります。メソッドをオーバーライドし、 TrueonKeyPreIme()を返します。これで、キーボードが常に表示され、Back キーで閉じることができなくなります。

注意:onKeyPreIme()メソッドが返されるため、true戻るキーを使用してアプリを終了することはできません。

例:

public class CustomEdit extends EditText {

    public CustomEdit(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }
    @Override
    public boolean onKeyPreIme(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        Log.e("Log", "onKeyPreIme");
        return true;
        //return super.onKeyPreIme(keyCode, event);
    }
}

onKeyPreIme() - Android 開発者

于 2012-09-03T07:42:55.947 に答える
2

myEditTextクラスのフィールドで編集した後、ソフトキーボードを表示したままにする方法を見つけましたEditTextonEditorActionトリックは、メソッドが返されるようにメソッドをオーバーライドすることですtrue

  myEditText.setOnEditorActionListener(new OnEditorActionListener() {                     
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
      return true;
    }       
  });

または、「完了」キークリック ( )の後にのみonEditorAction戻る必要があります。trueIME_ACTION_DONEfalse

  myEditText.setOnEditorActionListener(new OnEditorActionListener() {                     
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
      if(actionId==EditorInfo.IME_ACTION_DONE){
        Log.i(LOG_TAG, "IME_ACTION_DONE");
        return true;    
      }
      return false;
    }       
  });

(メソッドに関するこの回答も参照してください)onEditorAction

マニフェスト ファイルに追加android:windowSoftInputMode="stateAlwaysVisibleすると、アクティビティの開始時にソフト キーボードが表示されるようになりましたが、編集後に [完了] キーがクリックされるたびにソフト キーボードが再び消えるのを防ぐことはできませんでした。

于 2014-02-18T18:26:40.970 に答える