7

I want to be able to adjust my UI screen on Android when the soft keyboard pops up.

So at the minute I have something similiar to the first picture below where I have and EditText at the bottom of the screen and when a user taps the EditText I want the same as what happens in the second picture.

That is that the EditText gets moved up and appears to "sit" on top of the soft keyboard, when the soft keyboard dissapears it should then return to its prior state.

Can anyone let me know the best way to approach and implement this?

alt text http://img40.imageshack.us/img40/2300/keyboarddown.png


alt text http://img46.imageshack.us/img46/9339/keyboardup.png

Jon Seigel
  • 12,251
  • 8
  • 58
  • 92
Donal Rafferty
  • 19,707
  • 39
  • 114
  • 191

3 Answers3

15

You need to add android:windowSoftInputMode="adjustResize" to your tag in the AndroidManifest.xml file.

Mark Parnell
  • 9,175
  • 9
  • 31
  • 36
rascalking
  • 3,443
  • 1
  • 18
  • 16
  • In which tag??? I think the `` tag, but it didn't do anything. Please reply. – Anas Azeem Nov 21 '13 at 06:18
  • Yup, it belongs in the activity tag (see [the docs](http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft), as mentioned by @Samuh in his answer. Not sure why it's not working for you, sorry. – rascalking Nov 21 '13 at 14:59
  • We have already written this line in the manifest file, and keyboard works fine in Portrait mode. But in Landscape mode, the keyboard hides the input fields. – Deeps Sep 08 '17 at 11:38
5

take a look at android:windowSoftInputMode

Samuh
  • 36,316
  • 26
  • 109
  • 116
2

I solved this problem according rascalking's reply.

Dialog dialog = new Dialog(context);
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
dialog.setContentView(R.layout.pop_window_service);
WebView webview = (WebView) dialog.findViewById(R.id.pop_webview);
webview.loadUrl(url);

believe me it works.

SalutonMondo
  • 629
  • 9
  • 17