Pengantar Menyembunyikan Keyboard Android
Saat mengembangkan aplikasi Android, ada kalanya Anda perlu menyembunyikan soft keyboard secara terprogram. Ini sangat berguna ketika Anda memiliki EditText dan Tombol di tata letak Anda dan ingin keyboard menghilang setelah mengklik tombol tersebut.
Dalam panduan ini, kita akan mengeksplorasi cara sederhana dan efektif untuk mencapai fungsi ini. Dengan mengikuti langkah-langkah yang disediakan, Anda akan dapat meningkatkan pengalaman pengguna aplikasi Anda dengan mengelola visibilitas keyboard secara efisien.
Memerintah | Keterangan |
---|---|
getSystemService | Mengambil layanan tingkat sistem berdasarkan nama; di sini, ini digunakan untuk mendapatkan InputMethodManager untuk mengelola keyboard. |
hideSoftInputFromWindow | Menyembunyikan keyboard lunak dari jendela, mengambil token dan bendera sebagai parameter. |
getCurrentFocus | Mengembalikan tampilan terfokus saat ini dalam aktivitas, digunakan untuk menentukan di mana keyboard harus disembunyikan. |
onClickListener | Menyiapkan panggilan balik yang terpicu ketika tampilan (misalnya, Tombol) diklik. |
dispatchTouchEvent | Mencegat peristiwa gerakan layar sentuh sebelum dikirim ke jendela, berguna untuk penanganan sentuhan khusus. |
windowToken | Mengembalikan token yang secara unik mengidentifikasi jendela yang terkait dengan tampilan, diperlukan untuk menyembunyikan keyboard. |
Memahami Cara Menyembunyikan Keyboard Android
Dalam contoh Java, skrip terlebih dahulu mengimpor kelas-kelas yang diperlukan seperti , , Dan . Itu onCreate metode mengatur tata letak dan menginisialisasi Dan . Ketika tombol diklik, metode disebut. Metode ini mengambil tampilan terfokus saat ini menggunakan getCurrentFocus, dan jika tampilan terfokus, maka akan digunakan untuk menyembunyikan keyboard lunak dengan menelepon . Ini secara efektif menutup keyboard ketika tombol diklik.
Dalam contoh Kotlin, fungsi serupa dicapai. Script menggantikan metode untuk mengatur tampilan konten dan menginisialisasi Dan . Pemroses klik tombol memanggil hideKeyboard metode. Selain itu, Metode ini ditimpa untuk menyembunyikan keyboard saat menyentuh bagian luar. Metode ini memeriksa apakah tampilan terfokus dan menyembunyikan penggunaan keyboard . Skrip ini meningkatkan pengalaman pengguna dengan mengelola visibilitas keyboard lunak secara efisien.
Menutup Soft Keyboard Android Secara Terprogram
Java untuk Pengembangan Android
import android.app.Activity;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText = findViewById(R.id.editText);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hideKeyboard();
}
});
}
private void hideKeyboard() {
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
}
Sembunyikan Keyboard Saat Menyentuh Bagian Luar
Kotlin untuk Pengembangan Android
import android.app.Activity
import android.os.Bundle
import android.view.MotionEvent
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import android.widget.Button
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val editText = findViewById<EditText>(R.id.editText)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener { hideKeyboard() }
}
private fun hideKeyboard() {
val view = this.currentFocus
view?.let { v ->
val imm = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(v.windowToken, 0)
}
}
override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
if (currentFocus != null) {
val imm = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(currentFocus!!.windowToken, 0)
}
return super.dispatchTouchEvent(ev)
}
}
Teknik Tingkat Lanjut untuk Mengelola Keyboard Android
Aspek penting lainnya dalam mengelola soft keyboard Android adalah menangani visibilitasnya sebagai respons terhadap berbagai interaksi dan konfigurasi pengguna. Misalnya, Anda mungkin ingin keyboard muncul secara otomatis ketika mendapatkan fokus atau untuk memastikannya tersembunyi saat bernavigasi di antara komponen UI yang berbeda. Hal ini dapat dicapai dengan menggunakan bersama dengan panggilan balik siklus hidup seperti Dan onPause.
Selanjutnya, Anda dapat mengontrol perilaku keyboard dengan menyesuaikan atribut dalam file manifes aktivitas Anda. Atribut ini memungkinkan Anda menentukan apakah keyboard harus menyesuaikan tata letak aktivitas atau tetap tersembunyi hingga diminta secara eksplisit. Memanfaatkan konfigurasi ini dapat meningkatkan pengalaman pengguna secara signifikan dengan menyediakan antarmuka yang lebih intuitif dan responsif.
- Bagaimana cara menyembunyikan keyboard ketika sebuah kehilangan fokus?
- Anda dapat menggantinya pendengar dan menelepon .
- Dapatkah saya menampilkan keyboard secara otomatis ketika mendapatkan fokus?
- Ya, gunakan dalam pendengar.
- Bagaimana cara menyembunyikan keyboard dalam sebuah fragmen?
- Panggilan dalam konteks tampilan fragmen.
- Apa digunakan untuk?
- Ini menentukan bagaimana keyboard berinteraksi dengan tata letak aktivitas, seperti mengubah ukuran atau tetap menyembunyikannya.
- Bagaimana cara menyembunyikan keyboard saat menyentuh bagian luar an ?
- Mengesampingkan dalam aktivitas Anda untuk memeriksa peristiwa sentuhan di luar .
- Bisakah saya memaksa keyboard agar tetap tersembunyi?
- Ya, dengan pengaturan ke dalam manifes.
- Bagaimana cara mendeteksi apakah keyboard sedang terlihat?
- Menggunakan untuk membandingkan area yang terlihat di layar dengan tinggi tampilan akar.
- Apakah mungkin untuk menyembunyikan keyboard secara terprogram dengan satu klik tombol?
- Ya, telepon di tombol .
Kesimpulannya, mengelola soft keyboard Android sangat penting untuk meningkatkan pengalaman pengguna dalam aplikasi Anda. Dengan menggunakan , Anda dapat menyembunyikan atau menampilkan keyboard secara terprogram berdasarkan interaksi pengguna seperti klik tombol atau peristiwa sentuhan. Selain itu, mengonfigurasi atribut dalam file manifes memungkinkan Anda mengontrol perilaku keyboard dengan lebih tepat. Penerapan metode ini memastikan bahwa kehadiran keyboard tidak mengganggu kegunaan aplikasi, sehingga memberikan antarmuka yang mulus dan intuitif bagi pengguna.