Ответ 1
В вашем файле манифеста добавьте следующий код для этого конкретного действия
<activity android:windowSoftInputMode="adjustPan">
Проверьте этот документ для получения дополнительной информации.
У меня есть EditText
похожий на это (с "нижней гравитацией"):
Когда я EditText
, появляется клавиатура, и я больше не вижу, что я набираю (потому что EditText теперь находится за клавиатурой, внизу). Как я могу перемещать EditText
автоматически над клавиатурой, когда она была нажата?
В конце было бы хорошо, если бы это выглядело так:
Мой код:
// 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);
В вашем файле манифеста добавьте следующий код для этого конкретного действия
<activity android:windowSoftInputMode="adjustPan">
Проверьте этот документ для получения дополнительной информации.
использование
android:windowSoftInputMode="stateVisible|adjustResize"
в вашем файле манифеста. См. Сайт разработчика для справки
Иногда бывает, что установка активности в манифесте
android:windowSoftInputMode="stateVisible|adjustResize"
android:windowSoftInputMode="adjustPan"
не работает с прокруткой, содержащей EditText
.
После исследования я разобрался
что для работы в некоторых случаях необходимо установить родительский макет android:fitsSystemWindows="true"
. Тогда нативная функциональность прокрутки EditText
над полосой прокрутки работает как шарм.