Van egy EditText
és egy Button
az elrendezésemben.
Miután írtam a szerkesztőmezőbe és rákattintottam a Gombra
, el akarom rejteni a virtuális billentyűzetet. Feltételezem, hogy ez egy egyszerű kódrészlet, de hol találok rá példát?
Az InputMethodManager segítségével kényszerítheti az Androidot a virtuális billentyűzet elrejtésére, a hideSoftInputFromWindow
hívásával, a fókuszált nézetet tartalmazó ablak tokenjének átadásával.
// 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);
}
Ez minden helyzetben kikényszeríti a billentyűzet elrejtését. Bizonyos esetekben a második paraméterként át kell adnod az InputMethodManager.HIDE_IMPLICIT_ONLY
értéket, hogy biztosítsd, hogy csak akkor rejted el a billentyűzetet, ha a felhasználó nem kényszerítette ki kifejezetten a megjelenését (a menü lenyomva tartásával).
Megjegyzés: Ha ezt Kotlin nyelven szeretné megtenni, használja a következőt: Note: Ha ezt Kotlin nyelven szeretné megtenni, használja a következőt:
a context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
.
Kotlin szintaxis
// 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)
}
Szintén hasznos a softbillentyűzet elrejtéséhez:
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
);
Ezzel el lehet rejteni a soft-billentyűzetet, amíg a felhasználó ténylegesen hozzá nem ér az editText nézethez.
Kérjük, próbálja ki az alábbi kódot az onCreate()
-ban.
EditText edtView=(EditText)findViewById(R.id.editTextConvertValue);
edtView.setInputType(0);