Ich habe eine Aktivität ohne untergeordnete Widgets und die entsprechende XML-Datei lautet:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:focusable="true"
>
</LinearLayout>
und ich möchte die Softtastatur programmgesteuert öffnen, während die Aktivität beginnt. Und was ich bisher versucht habe, ist:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
Gib mir eine Anleitung.
android
android-softkeyboard
Vignesh
quelle
quelle
Antworten:
Ich habe die folgenden Zeilen verwendet, um die Softtastatur manuell innerhalb des Onclick-Ereignisses anzuzeigen, und die Tastatur ist sichtbar.
Aber ich kann dies immer noch nicht öffnen, während die Aktivität geöffnet wird. Gibt es also eine Lösung dafür?
quelle
Fügen Sie in Ihrer Manifestdatei Folgendes zu dem hinzu
<activity>
, das Sie zu Beginn der Aktivität auf der Tastatur anzeigen möchten:android:windowSoftInputMode="stateVisible"
Dies sollte dazu führen, dass die Tastatur sichtbar wird, wenn die Aktivität beginnt.
Weitere Optionen finden Sie in der Dokumentation .
quelle
Bitte folgen Sie dem unten stehenden Code. Ich bin sicher, dass Ihr Problem gelöst wird.
quelle
Das funktioniert
oder
quelle
Alles, was ich brauchte, war, die Tastatur in einem sehr präzisen Moment freizulegen. Das hat bei mir funktioniert! Danke Benites.
Und genau im Moment:
quelle
postDelayed( runnable, 500 /* msec */ );
Ich habe die folgenden Zeilen verwendet, um die Softtastatur manuell innerhalb des Onclick-Ereignisses anzuzeigen.
quelle
Fügen Sie das in die onResume-Methode ein:
Die ausführbare Datei wird benötigt, da Sie beim Auslösen der onResume-Methode durch das Betriebssystem nicht sicher sein können, ob alle Ansichten gezeichnet wurden. Die von Ihrem Root-Layout aufgerufene Post-Methode lässt sie warten, bis alle Ansichten fertig sind.
quelle
scheint so zu funktionieren
scheint das besser zu funktionieren: im manifest:
scheint das Manifest in Android 4.2.2 zu funktionieren, aber nicht in Android 4.0.3
quelle
in onCreate Aktivitätsmethode oder onActivityCreated eines Fragments
quelle
Ich habe dies verwendet, um die Softtastatur programmgesteuert anzuzeigen, und dies funktioniert für mich, um die automatische Größenänderung des Bildschirms beim Starten der Tastatur zu verhindern.
Im Manifest:
In XXXActvity:
Ich gehe davon aus, dass dies anderen Zeit spart, um nach diesem Problem zu suchen.
quelle
Kotlin
Java
quelle
quelle
Ich habe es als Singleton benutzt wie:
Verwenden Sie es in Ihrer Aktivität wie:
quelle
Das funktioniert:
Und Sie nennen diese Methode so:
quelle
InputMethodManager.SHOW_FORCED ist keine gute Wahl. Wenn Sie diese Einstellung verwenden, sollten Sie das Ausblenden des Tastaturstatus verwalten. Mein Vorschlag ist so;
Sie können sich auch auf die Ansicht konzentrieren (normalerweise EditText) und Parameter verwenden. Dies macht es zu einer nützlicheren Funktion
Weitere Informationen zu InputMethodManager.SHOW_IMPLICIT und SHOW_FORCED. InputMethodManager
quelle
Dies ist der erforderliche Quellcode:
Für Details gehen Sie bitte über diesen Link. Das hat mir geholfen. https://github.com/Nikhillosalka/Keyboard/blob/master/README.md
quelle
Verwenden Sie den obigen Code in onResume (), um die Soft-Tastatur zu öffnen
quelle
Ähnlich wie bei der Antwort von @ShimonDoodkin habe ich dies in einem Fragment getan.
https://stackoverflow.com/a/29229865/2413303
Wo
ShowKeyboard
istNach einer erfolgreichen Eingabe stelle ich auch sicher, dass ich die Tastatur verstecke
quelle
quelle
Es gibt bereits zu viele Antworten, aber ansonsten hat nichts für mich funktioniert
Ich habe
showSoftInput
mit verwendetSHOW_FORCED
Und meine Tätigkeit hat
hoffe das hilft jemandem
quelle
Veröffentlichen Sie diese Methode in Ihrer Basisaktivität und verwenden Sie sie für andere Aktivitäten wie einen Zauber
quelle