Jika Anda tidak ingin menggunakan xml, buatlah Ekstensi Kotlin untuk menyembunyikan keyboard
// In onResume, call this
myView.hideKeyboard()
fun View.hideKeyboard() {
val inputMethodManager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(windowToken, 0)
}
Alternatif berdasarkan use case:
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()
}
Cara menampilkan keyboard lunak
fun Context.showKeyboard() { // Or View.showKeyboard()
val inputMethodManager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.toggleSoftInput(SHOW_FORCED, HIDE_IMPLICIT_ONLY)
}
Metode yang lebih sederhana ketika secara bersamaan meminta fokus pada edittext
myEdittext.focus()
fun View.focus() {
requestFocus()
showKeyboard()
}
Penyederhanaan bonus:
Hapus persyaratan untuk selalu menggunakan getSystemService
: Perpustakaan Splitties
// Simplifies above solution to just
inputMethodManager.hideSoftInputFromWindow(windowToken, 0)
android:windowSoftInputMode="stateHidden"
Gunakan fungsi berikut untuk menampilkan / menyembunyikan keyboard:
sumber
onFocusChange()
Tambahkan saja dua atribut ke tampilan induk dari editText.
sumber
Masukkan ini dalam manifes di dalam tag Aktivitas
sumber
Coba ini:
Lihat yang ini untuk lebih jelasnya.
sumber
Untuk menyembunyikan papan tombol saat Aktivitas baru dimulai atau
onCreate()
,onStart()
dll. Anda dapat menggunakan kode di bawah ini:sumber
Menggunakan AndroidManifest.xml
Menggunakan Java
menggunakan keyboard solusi di atas sembunyikan tetapi edit dari mengambil fokus saat aktivitas dibuat, tetapi ambil ketika Anda menyentuhnya menggunakan:
tambahkan EditText Anda
juga tambahkan pendengar EditText Anda
sumber
Tambahkan teks berikut ke file xml Anda.
sumber
Saya harap ini akan berhasil, saya mencoba banyak metode tetapi ini berhasil untuk saya
fragments
. cukup letakkan baris ini di onCreateview / init.sumber
Untuk menyembunyikan papan tombol pada saat mulai Aktivitas baru atau metode onCreate (), onStart () dll. Gunakan kode di bawah ini:
Untuk menyembunyikan papan tombol pada saat tombol diklik dalam aktivitas:
sumber
Gunakan SOFT_INPUT_STATE_ALWAYS_HIDDEN sebagai ganti SOFT_INPUT_STATE_HIDDEN
sumber
tambahkan aktivitas Anda di manifasts properti ini
sumber
Letakkan kode ini file java Anda dan berikan argumen untuk objek pada edittext,
sumber
Anda dapat mengatur konfigurasi di AndroidManifest.xml
Contoh:
sumber
Gunakan kode berikut untuk Sembunyikan papan ketik pertama kali saat Anda memulai Kegiatan
sumber
Coba yang ini juga
sumber
Jawaban di atas juga benar. Saya hanya ingin memberikan pengarahan bahwa ada dua cara untuk menyembunyikan keyboard saat memulai aktivitas, dari manifest.xml. misalnya:
atau
sumber
Inilah yang saya lakukan:
sumber
Jika aplikasi Anda menargetkan Android API Level 21 atau lebih dari ada metode default yang tersedia.
Pastikan Anda telah menetapkan kode di bawah ini dalam
EditText
tag XML.sumber
Coba ini.
Pertama di xml Anda yang dapat dicari, kolom-kolom (nama dan petunjuk, dll) dimasukkan
@string
dan bukan string literal.Kemudian metode
onCreateOptionsMenu
, itu harus memilikiComponentName
objek dengan nama paket Anda dan nama kelas lengkap Anda (dengan nama paket) - Dalam kasus aktivitas yang memilikiSearchView
komponen sama dengan acara yang digunakan hasil pencariangetComponentName()
, seperti yang dikatakan pengembang android google.Saya mencoba banyak solusi dan setelah banyak bekerja solusi ini bekerja untuk saya.
sumber
sumber
ini akan bekerja
sumber