Принудительная настройка AdjustPan в действии, содержащем ScrollView - PullRequest
13 голосов
/ 24 мая 2011

Моя раскладка выглядит следующим образом:

<RelativeLayout>
    <RelativeLayout>
    </RelativeLayout>
    <ViewFlipper>
        <ScrollView>
            <LinearLayout>
                <EditText />
            </LinearLayout>
        </ScrollView>
    </ViewFlipper>
    <RelativeLayout>
    </RelativeLayout>
</RelativeLayout>

При фокусировке на EditText в середине, программная клавиатура всплывает, как и ожидалось, однако она всегда изменяет размер раскладки, даже если у меня есть android:windowSoftInputMode="adjustPan" вmanifest.

Проблема с изменением размера состоит в том, что сжимается только ScrollView, оставляя нетронутыми RelativeLayouts выше и ниже его, что может почти полностью скрыть EditText.

Я пытался скрыть RelativeLayouts, когдаклавиатура показана (это еще одна печальная история), но AdjustPan звучит более подходящим.Однако это никак не влияет на это действие.

Как заставить заставить AdjustPan работать, несмотря на наличие ScrollView?

Обновление:

SOне позволит мне ответить на мой собственный вопрос, но решение заключается в установке android:isScrollContainer="false" в ScrollView.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2014

Хороший вопрос. В основном разработчики делают то же самое, но это не совсем то, что вам нужно.Это поможет вам.

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical">


<ViewFlipper>
    <ScrollView
      android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       >
        <LinearLayout
          android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:orientation="vertical"
        >
            <EditText />
        </LinearLayout>
    </ScrollView>
</ViewFlipper>
<LinearLayout> 

Вы должны взять LinearLayout с ориентацией как вертикальный или горизонтальный вид, где у вас никогда не возникало проблем с настройкой.

0 голосов
/ 12 июля 2012

попробуйте это в теге активности вашего манифеста:

android:windowSoftInputMode="stateVisible|adjustPan"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...