Positioning EditText Above Keyboard

blackst0ne picture blackst0ne · Jan 9, 2015 · Viewed 28.7k times · Source

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);

Answer

Varun Singh picture Varun Singh · Jan 9, 2015

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

<activity android:windowSoftInputMode="adjustPan">

Check this doc for more info.