33

I have got an EditText looking like this (with "bottom gravity"):

enter image description here

When I press the EditText, the keyboard shows up and I can't see anymore what I'm typing (because the EditText is now behind the keyboard, on the bottom). How could I move the EditText automatically just above the keyboard, when it has been pressed?

At the end, it would be good if it would look like this:

enter image description here

My Code:

// LINEAR LAYOUT
LinearLayout layout = new LinearLayout(getApplicationContext());
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
// TEXTVIEW
layout.addView(tv);
// EDITTEXT
et.setGravity(Gravity.BOTTOM);
et.setInputType(InputType.TYPE_CLASS_TEXT);
et.setImeOptions(EditorInfo.IME_ACTION_SEND);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
                        params.gravity = Gravity.BOTTOM;
                        et.setLayoutParams(params); // SOMETHING LIKE ONTOUCH -> MOVE UPWARDS
                        layout.addView(et);
blackst0ne
  • 3,134
  • 4
  • 16
  • 28

4 Answers4

58

In your Manifest file add the following code for this particular activity

<activity android:windowSoftInputMode="adjustPan">

Check this doc for more info.

Varun Singh
  • 1,135
  • 13
  • 18
  • 1
    If you get an activity from code you can also set it like this: `activity.getWindow().setSoftInputMode(SOFT_INPUT_ADJUST_PAN);` – RoaflinSabos Feb 21 '17 at 09:56
11

use

android:windowSoftInputMode="stateVisible|adjustResize" 

in your Manifest file. See developer site for your reference

Karthikeyan
  • 1,119
  • 1
  • 15
  • 33
4

It happens sometimes that setting activity in manifest

android:windowSoftInputMode="stateVisible|adjustResize" 
android:windowSoftInputMode="adjustPan" 

not working with scrolling views containing EditText.

After research I figured out that to work in some cases parent layout has to be set android:fitsSystemWindows="true". Then native functionality of scrolling EditText above scrollbar working like a charm.

Antonis Radz
  • 3,036
  • 1
  • 16
  • 34
3

Simply setting android:fitsSystemWindows="true" in the layout xml worked for me.

Sharru
  • 41
  • 2
  • Welcome to stack overflow! Could you explain where you set this, as the OP is not showing .xml. Do you have an edit to the shown code that could fix OP's problem? – carthurs May 19 '20 at 21:37