Wenn Sie XML nicht verwenden möchten, erstellen Sie eine Kotlin-Erweiterung, um die Tastatur auszublenden
// In onResume, call this
myView.hideKeyboard()
fun View.hideKeyboard() {
val inputMethodManager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(windowToken, 0)
}
Alternativen basierend auf dem Anwendungsfall:
fun Fragment.hideKeyboard() {
view?.let { activity?.hideKeyboard(it) }
}
fun Activity.hideKeyboard() {
// Calls Context.hideKeyboard
hideKeyboard(currentFocus ?: View(this))
}
fun Context.hideKeyboard(view: View) {
view.hideKeyboard()
}
So zeigen Sie eine weiche Tastatur an
fun Context.showKeyboard() { // Or View.showKeyboard()
val inputMethodManager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.toggleSoftInput(SHOW_FORCED, HIDE_IMPLICIT_ONLY)
}
Einfachere Methode bei gleichzeitiger Anforderung eines Fokus auf einen Edittext
myEdittext.focus()
fun View.focus() {
requestFocus()
showKeyboard()
}
Bonusvereinfachung:
Entfernen Sie die Anforderung für die Verwendung von getSystemService
: Splitties Library
// Simplifies above solution to just
inputMethodManager.hideSoftInputFromWindow(windowToken, 0)
android:windowSoftInputMode="stateHidden"
Verwenden Sie die folgenden Funktionen, um die Tastatur ein- oder auszublenden:
quelle
onFocusChange()
Fügen Sie der übergeordneten Ansicht von editText einfach zwei Attribute hinzu.
quelle
Fügen Sie dies in das Manifest innerhalb des Activity-Tags ein
quelle
Versuche dies:
Schauen Sie sich diese für weitere Details an.
quelle
Um das Softkeyboard zum Zeitpunkt des Starts der neuen Aktivität oder usw. auszublenden
onCreate()
,onStart()
können Sie den folgenden Code verwenden:quelle
Verwenden von AndroidManifest.xml
Verwenden von Java
Verwenden Sie die oben genannte Lösung.
Fügen Sie Ihren EditText hinzu
Fügen Sie auch den Listener Ihres EditText hinzu
quelle
Fügen Sie Ihrer XML-Datei den folgenden Text hinzu.
quelle
Ich hoffe, das wird funktionieren, ich habe viele Methoden ausprobiert, aber diese hat für mich funktioniert
fragments
. Fügen Sie diese Zeile einfach in onCreateview / init ein.quelle
Verwenden Sie den folgenden Code, um das Softkeyboard zum Zeitpunkt des Starts der neuen Aktivität oder der Methode onCreate (), onStart () usw. auszublenden:
Um das Softkeyboard zum Zeitpunkt der Schaltfläche auszublenden, klicken Sie auf Aktivität:
quelle
Verwenden Sie SOFT_INPUT_STATE_ALWAYS_HIDDEN anstelle von SOFT_INPUT_STATE_HIDDEN
quelle
Fügen Sie in Ihrer Aktivität in manifestiert diese Eigenschaft
quelle
Fügen Sie diesen Code in Ihre Java-Datei ein und übergeben Sie das Argument für das Objekt an edittext.
quelle
Sie können die Konfiguration auf AndroidManifest.xml festlegen
Beispiel:
quelle
Verwenden Sie den folgenden Code, um das Softkeyboard beim ersten Start der Aktivität zum ersten Mal auszublenden
quelle
Versuchen Sie dies auch
quelle
Die obigen Antworten sind ebenfalls korrekt. Ich möchte nur kurz erläutern, dass es zwei Möglichkeiten gibt, die Tastatur beim Starten der Aktivität in manifest.xml auszublenden. z.B:
oder
quelle
Das habe ich getan:
quelle
Wenn Ihre Anwendung auf Android API Level 21 oder höher abzielt, steht eine Standardmethode zur Verfügung.
Stellen Sie sicher, dass Sie den folgenden Code im
EditText
XML-Tag festgelegt haben.quelle
Versuche dies.
Zuerst werden in Ihrer durchsuchbaren XML die Felder (Name und Hinweis usw.)
@string
und keine Literalzeichenfolgen eingefügt.Dann
onCreateOptionsMenu
muss die Methode einComponentName
Objekt mit Ihrem Paketnamen und Ihrem vollständigen Klassennamen (mit Paketnamen) enthalten. - Falls die Aktivität mit derSearchView
Komponente mit der der Suchergebnisse übereinstimmtgetComponentName()
, wie der Google Android-Entwickler sagt.Ich habe viele Lösungen ausprobiert und nach viel Arbeit funktioniert diese Lösung für mich.
quelle
quelle
es wird funktionieren
quelle