Я пытаюсь создать действие с парой элементов TextInputEditText
.Они располагаются примерно на половине страницы, поэтому при их появлении они закрываются клавиатурой.Поэтому я пытаюсь использовать windowSoftInputMode="adjustPan"
внутри AppManifest.xml
, чтобы экран прокручивался, чтобы текстовые поля были видны при наборе текста.
Однако все попытки этого кажутся неудачными.Ниже приведена иерархия макетов, которую я использую, а также несколько примеров решений, которые я уже пытался безрезультатно.
макет xml
<ScrollView
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:fillViewport="true"
android:isScrollContainer="false">
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputLayout
android:id="@+id/inputA"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputEditText
android:id="@+id/inputAText"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/inputB"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputEditText
android:id="@+id/inputBText"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.design.widget.TextInputLayout>
</android.support.constraint.ConstraintLayout>
</ScrollView>
Фрагмент AndroidManifest.xml
<activity
android:name=".activities.MyActivity"
android:windowSoftInputMode="adjustPan"
android:screenOrientation="sensorPortrait"
android:theme="@style/AppTheme.NoActionBar" />
Попытки решения
- Добавьте
windowSoftInputMode="adjustPan"
к соответствующему activity
в AppManifest.xml
(Я также пробовал adjustResize
и adjustPan|adjustNothing
, как и в соответствии с другими предложениями StackOverflow) - Поместите
ConstraintLayout
внутри ScrollView
- Добавьте
android:isScrollContainer="false"
к указанному ScrollView - Повторно создайте файл макета, указав только
ConstraintLayout
и TextInputEditText
в нижней части указанного макета - Измените
TextInputEditText
на EditText
и удалите TextInputLayout
- Изменено
ConstraintLayout
на RelativeLayout
Что за довольно простая реализация, я в растерянности.Любые дальнейшие предложения приветствуются.Я рад предоставить больше примеров кода при необходимости.