ListView не меняет размер при отображении клавиатуры - PullRequest
1 голос
/ 10 апреля 2011

У меня есть активность, которая показывает ListView. Элементы в ListView имеют поля EditText, поэтому при нажатии на текстовое поле виртуальная клавиатура открывается. Он покрывает ListView, поэтому вы не можете видеть элементы за клавиатурой.

Я настроил манифест для этого действия для настройки размера:

<activity android:name=".StatisticalActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar"
                  android:screenOrientation="portrait"
                  android:windowSoftInputMode="adjustResize"
                  >

.. но при отображении клавиатуры размер не изменяется.

Это макет для моей деятельности:

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

    <RelativeLayout
        android:id="@+id/toolbar"
        android:layout_width="fill_parent"
        android:layout_height="40sp" android:paddingLeft="4dp" android:background="@drawable/toolbar_gradient" android:paddingRight="6dp">

        ...

    </RelativeLayout>

    <ListView
        android:id="@+id/tableView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#333"
    />
</LinearLayout>

Что я делаю не так?

1 Ответ

5 голосов
/ 10 апреля 2011

Если вы устанавливаете активность в полноэкранный режим, используя WindowManager.LayoutParams.FLAG_FULLSCREEN, то автоматическое изменение размера представления не работает. Поэтому, к сожалению, лучше всего не использовать полноэкранный режим (т. Е. Отображать строку состояния вверху), после чего изменение размера будет работать нормально.

...