Apakah ada cara di Android untuk mendapatkan ketinggian keyboard virtual perangkat
Apakah ada cara di Android untuk mendapatkan ketinggian keyboard virtual yang ditampilkan pada perangkat dalam waktu berjalan? Sebenarnya saya ingin menampilkan kotak teks di atas keyboard.
37
3
Ya, Anda bisa, dengan bantuan Viewtree Observer dan pendengar tata letak global, coba saja langkah-langkah yang disebutkan di bawah ini
sekarang setiap kali soft keyboard ditampilkan, android akan mengubah ukuran layar Anda dan Anda akan menerima panggilan pada listener Anda. Hanya itu saja yang perlu Anda lakukan sekarang adalah menghitung perbedaan antara tinggi yang dimiliki tampilan root Anda setelah ukuran ulang dan ukuran aslinya. Jika perbedaannya lebih dari 150, anggaplah ini sebagai keyboard yang telah digelembungkan.
Di bawah ini adalah contoh kode
Salam, Techfist
menempatkan kotak teks sebagai induk bagian bawah.
dan di dalam berkas manifes buatlah masukan lunak
adjustresize
maka kotak teks akan bergerak ke atas ketika keyboard muncul.
Solusi saya adalah kombinasi dari semua solusi di atas. Solusi ini juga hacky tetapi menyelesaikan masalah (setidaknya untuk saya).
Saya memiliki tempat pada tampilan sementara dengan latar belakang transparan di bagian bawah layar.
Saya telah menambahkan
android:windowSoftInputMode="adjustResize"
flag dalam tag aktivitas di manifes seperti yang disarankan @bill.Sekarang cerita utamanya ada di
onGlobalLayout()
. Di sana saya menghitung selisih antara sumbu y tampilan temp dan tinggi tampilan rootTapi bagaimanapun juga untuk menyelesaikan masalah @zeeshan0026 hanya satu bendera di manifes
android:windowSoftInputMode="adjustResize"
sudah cukup.