покрытие виртуальной клавиатуры EditText в Galaxy Tab - PullRequest
9 голосов
/ 21 октября 2011

У меня есть EditText в моем приложении. моя проблема в том, что виртуальная клавиатура маскирует мой EditText при наборе текста. Я пробовал использовать разные вещи ..

 <activity android:name="Myactivity"  android:screenOrientation="portrait"
        android:configChanges="keyboardHidden|orientation"
          android:windowSoftInputMode="stateVisible|adjustResize"></activity>

но эта проблема все еще существует ... у кого-нибудь есть идеи, как заставить EditText подняться при наборе текста?

Удачного кодирования ...!

Ответы [ 5 ]

5 голосов
/ 21 октября 2011

Просто попробуйте сделать это в файле манифеста Android:

android:windowSoftInputMode="stateVisible|adjustResize|adjustPan"

Также вам нужно добавить следующий код в функцию OnCreate действия:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

Я надеюсь, что это должно работать длявы.

3 голосов
/ 28 октября 2011

У меня была такая же проблема с Галактикой.Оказывается, Android позволяет изменять поведение программной клавиатуры.Вы можете найти документы здесь: http://developer.android.com/resources/articles/on-screen-inputs.html

Рабочая ссылка: http://android -developers.blogspot.co.il / 2009/04 / update-Applications-for-on-screen.html

По сути, существует три режима ввода:

1) Панорамирование и сканирование: прокручивает окно приложения, чтобы сделать сфокусированный вид видимым.

2)Изменение размера: размер окна приложения изменяется в соответствии с фокусным видом

3) Режим извлечения: только ландшафт (посмотрите на изображение в документах ... оно объясняет это лучше, чем я когда-либо мог)

Судя по тому, что я прочитал, панорамирование и сканирование (которое установлено по умолчанию) и изменение размера не работают для вас ... хотя первое должно прокручивать окно приложения, а второе - изменять его размер, чтобы сделать EditText видимым.Вы можете опубликовать свой макет?

2 голосов
/ 27 октября 2011

Просто добавьте
android: windowSoftInputMode = "AdjustPan" для вашей деятельности в файле манифеста

1 голос
/ 28 октября 2011

Сохраните параметры активности, которые вы опубликовали, в частности:

android: windowSoftInputMode = "stateVisible | AdjustResize"

Попробуйте обернуть ScrollView вокруг макета, содержащего EditText,Верхняя часть ScrollView должна быть выше верхней части SoftKeyboard.Я протестировал это со многими EditTexts в вертикальном LinearLayout и обнаружил, что при открытии программной клавиатуры ScrollView изменяется до видимого экрана и прокручивается, когда фокус переключается на следующий EditText.Также знайте, что ScrollViews в ScrollViews вызовет проблемы.Надеюсь, это поможет.

<ScrollView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    >
    <LinearLayout
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:orientation="vertical"
        >        
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
        <EditText
            android:layout_width="192dp" 
            android:layout_height="wrap_content"

            android:inputType="textShortMessage"
            android:imeOptions="actionNext|flagNoEnterAction"

            android:maxLines="1"
            android:maxLength="64"
            />
    </LinearLayout>
</ScrollView>

РЕДАКТИРОВАТЬ: уточненная позиция ScrollView.

0 голосов
/ 27 октября 2011

В EditText в файле layout.xml добавьте эту строку

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