Jawaban:
Apakah Anda bertanya bagaimana mengontrol apa yang terlihat ketika keyboard lunak terbuka? Anda mungkin ingin bermain dengan windowSoftInputMode . Lihat dokumen pengembang untuk diskusi lebih lanjut.
android:fitsSystemWindows="true"
ke tampilan root Anda untuk menyelesaikan ini.
Saya memiliki masalah yang sama. Coba kode berikut:
android:windowSoftInputMode="adjustPan"
tambahkan ke manifes.xml Anda di tag aktivitas dari aktivitas yang menyimpan input. contoh:
<activity
android:name=".Activities.InputsActivity"
...
android:windowSoftInputMode="adjustPan"
/>
adjustResize
akan terjadi, tetapi juga mencakup bidang input saya
Saya memiliki masalah yang sama di mana papan tombol berada di atas tampilan EditText yang ditempatkan di bagian bawah layar. Saya dapat menemukan solusi dengan menambahkan satu baris ke aktivitas file AndroidManifest.xml yang relevan.
android:windowSoftInputMode="adjustResize|stateHidden"
Seperti inilah seluruh tag aktivitas:
<activity
android:name="com.my.MainActivity"
android:screenOrientation="portrait"
android:label="@string/title_activity_main"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
Di sini nilai yang paling penting adalah AdjustResize. Ini akan menggeser keseluruhan UI ke atas untuk memberikan ruang bagi papan tombol softkey.
adjustResize|stateHidden
dan tidak ada bedanya adjustPan
.
Mengapa tidak mencoba menambahkan ScrollView untuk membungkus apa pun yang ingin Anda gulir. Berikut adalah cara saya melakukannya, di mana saya benar-benar meninggalkan header di atas yang tidak menggulir, sedangkan widget dialog (khususnya EditTexts) gulir ketika Anda membuka tombol lunak.
<LinearLayout android:id="@+id/HeaderLayout" >
<!-- Here add a header or whatever will not be scrolled. -->
</LinearLayout>
<ScrollView android:id="@+id/MainForm" >
<!-- Here add your edittexts or whatever will scroll. -->
</ScrollView>
Saya biasanya memiliki LinearLayout di dalam ScrollView, tetapi itu terserah Anda. Juga, mengatur gaya Scrollbar ke outsideInset membantu, setidaknya pada perangkat saya.
Yang perlu Anda lakukan adalah
android:isScrollContainer="true"
sumber: http://www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-scrolling/
Maaf telah menghidupkan kembali utas lama tetapi tidak ada pengaturan yang disebutkan android:imeOptions="flagNoFullscreen"
di elemen EditText Anda
android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"
bekerja untuk EditText android, sementara itu tidak berfungsi untuk tampilan web atau xwalkview. Saat keyboard lunak menyembunyikan input di tampilan web atau xwalkview yang telah Anda gunakanandroid:windowSoftInputMode="adjustResize"
Saya percaya bahwa Anda dapat membuatnya gulir dengan menggunakan trackball, yang mungkin dicapai secara terprogram melalui metode seleksi pada akhirnya, tapi itu hanya sebuah ide. Saya tahu bahwa metode trackball biasanya bekerja, tetapi untuk cara yang tepat untuk melakukan ini dan membuatnya bekerja dari kode, saya tidak yakin.
Semoga itu bisa membantu.
tambahkan satu baris ini ke aktivitas relatif Anda di mana papan tombol menutupi metode edit text.inside onCreat ().
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Jika Bidang EditTeks dicakup oleh Papan Ketik Gunakan kode berikut:
EditText= findViewById(R.id.edittext)
EditText?.getParent()?.requestChildFocus(EditText,EditText)
Jika Anda ingin kursor berada di EditText Berfokus daripada gunakan EditText.requestFocus()
setelah EditText?.getParent()?.requestChildFocus(EditText,EditText)
yang membantu untuk mendapatkan fokus dan Kursor di EditText Berfokus.
Edit AndroidManifest.xml Anda
android:windowSoftInputMode="adjustResize"
Tambahkan ini ke tampilan root Anda dari file Layout.
android:fitsSystemWindows="true"
Itu saja.