Мой макет выглядит следующим образом:
<RelativeLayout>
<RelativeLayout>
</RelativeLayout>
<ViewFlipper>
<ScrollView>
<LinearLayout>
<EditText />
</LinearLayout>
</ScrollView>
</ViewFlipper>
<RelativeLayout>
</RelativeLayout>
</RelativeLayout>
Когда вы фокусируетесь на EditText посередине, мягкая клавиатура появляется, как ожидалось, но всегда меняет размер макета, хотя в манифесте есть android:windowSoftInputMode="adjustPan"
.
Проблема с изменением размера заключается в том, что только ScrollView сжимается, оставляя RelativeLayouts выше и ниже его неповрежденным, что может почти полностью затенять EditText.
Я попытался скрыть RelativeLayouts, когда клавиатура показана (это еще одна печальная история), но adjustPan звучит более подходящим. Однако это не влияет на эту активность.
Как заставить ForcePan работать, несмотря на наличие ScrollView?
Update:
SO не позволит мне ответить на мой собственный вопрос, но решение устанавливает android:isScrollContainer="false"
в ScrollView.