Как сделать windowSoftInputMode = "adjustPan" pan more

У меня есть активность с кучей полей EditText на нем, а windowSoftInputMode настроен на настройкуPan, это в основном делает то, что я хочу, однако для editText в нижней части макета он недостаточно кастрюли. Он будет панорамировать, чтобы показать верхнюю строку многострочного текста редактирования, но как только вы нажмете enter, курсор перемещается по строке и теперь скрывается под клавиатурой.

В любом случае, я могу сделать так, чтобы верхняя часть editText находилась в верхней части окна.

Использование adjustResize определенно не будет делать то, что я хочу, панорамирование - это правильная вещь, просто нужно, чтобы она кастралась дальше.

Ответы

Ответ 1

То же самое произошло со мной.

Что я сделал для решения, я просто поместил все элементы управления в ScrolllView.

И установите android: windowSoftInputMode adjustResize. Поэтому всякий раз, когда клавиатура открыта, она будет прокручивать экран для настройки вида, а Редактировать всегда отображается на экране.

Надеюсь, эта идея будет работать для вас.

Спасибо

Ответ 2

Поместите свой EditText внутри ScrollView, а затем укажите свойство adjustResize, вместо adjustPan, он автоматически отрегулируйте экран и его компоненты.

Ответ 3

У меня есть edittext внизу экрана, когда я коснулся его открытой softkeyboard, но он скрывает edittext, поэтому внесите изменения в макет (используйте относительный макет), и он работает для меня, не используя adjustPan. Вот мой XML.

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

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <RelativeLayout
            android:id="@+id/headerlinearLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/navigation_bar" >

            <Button
                android:id="@+id/chatterBack"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="20dp"
                android:background="@drawable/navigation_cancel_button"
                android:textColor="#FFFFFF" >
            </Button>

            <TextView
                android:id="@+id/ittletextView"
                style="@style/titleText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:text="Title" >
            </TextView>

            <Button
                android:id="@+id/blockhide"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="20dp"
                android:background="@drawable/navigation_cancel_button"
                android:padding="5dp"
                android:text="Block/Hide"
                android:textColor="#FFFFFF" >
            </Button>
        </RelativeLayout>

        <LinearLayout
            android:id="@+id/middlelinearLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/headerlinearLayout"
            android:orientation="vertical" >

        </LinearLayout>


        <LinearLayout
            android:id="@+id/footerlinearLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="@drawable/commnet_post_bg"
            android:gravity="center"
            android:paddingLeft="5dp"
            android:paddingRight="5dp" >


            <EditText
                android:id="@+id/sendeditText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="5dp"
                android:layout_weight="1"
                android:background="@drawable/comment_post_text_box"
                android:imeOptions="actionSend|flagNoEnterAction"
                android:inputType="text"
                android:paddingLeft="10dp"
                android:paddingRight="5dp"
                android:singleLine="true" >
            </EditText>

            <Button
                android:id="@+id/sendButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/send_button"
                android:text="Send"
                android:textColor="#FFFFFF" >
            </Button>
        </LinearLayout>
    </RelativeLayout>

</LinearLayout>

Ответ 4

Вам нужно добавить эту строку в свою активность для настройки экрана.

        <activity android:name=".TodoEdit"
        android:windowSoftInputMode="adjustResize">