So stellen Sie die Sichtbarkeit der Android-Softtastatur ein

Ich habe einen "EditText" und eine "Schaltfläche" in meinem Layout.

Nachdem ich in das Bearbeitungsfeld geschrieben und auf die Schaltfläche geklickt habe, möchte ich die virtuelle Tastatur ausblenden. Ich nehme an, dass dies ein einfaches Stück Code ist, aber wo kann ich ein Beispiel dafür finden?

Sie können Android dazu zwingen, die virtuelle Tastatur auszublenden, indem Sie den InputMethodManager verwenden, indem Sie hideSoftInputFromWindow aufrufen und dabei das Token des Fensters übergeben, das Ihre fokussierte Ansicht enthält.

// Check if no view has focus:
View view = this.getCurrentFocus();
if (view != null) {  
    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

Dadurch wird die Tastatur in allen Situationen ausgeblendet. In manchen Fällen ist es sinnvoll, InputMethodManager.HIDE_IMPLICIT_ONLY als zweiten Parameter zu übergeben, um sicherzustellen, dass die Tastatur nur dann ausgeblendet wird, wenn der Benutzer sie nicht explizit erzwungen hat (indem er das Menü gedrückt hat).

Hinweis: Wenn Sie dies in Kotlin machen wollen, verwenden Sie: context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager

Kotlin-Syntax

// Check if no view has focus:
 val view = this.currentFocus
 view?.let { v ->
  val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager 
  imm?.hideSoftInputFromWindow(v.windowToken, 0)
 }
Kommentare (34)

Auch zum Ausblenden der Softkey-Tastatur ist dies nützlich:

getWindow().setSoftInputMode(
    WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
);

Damit kann die Softkeytastatur ausgeblendet werden, bis der Benutzer die Textbearbeitungsansicht tatsächlich berührt.

Kommentare (13)

Bitte versuchen Sie den folgenden Code in onCreate()

EditText edtView=(EditText)findViewById(R.id.editTextConvertValue);
edtView.setInputType(0);
Kommentare (6)