Макет Android - просмотр списка и редактирование текста ниже - PullRequest
0 голосов
/ 15 августа 2011

Я пытаюсь имитировать поведение приложения HTC SMS (традиционный вид), в котором отображаются все сообщения, а текст EditTextis показан ниже. Как вы можете видеть на скриншоте, при прокрутке вверх EditText прокручивается внизу.

enter image description here

Я застрял с этим, даже после прочтения нескольких сообщений (например, Макет Android с ListView и кнопками и этим веб-сайтом: http://www.finalconcept.com.au/article/view/android-keeping-buttons-visible), он не работает должным образом.

Благодаря комментариям и EditText, отображаемым теперь под ListView , мне удалось заставить мой ListView занять все доступное пространство и начать прокрутку после завершения. EditText теперь отображается внизу экрана - всегда. Хотелось бы, чтобы оно исчезло внизу при прокрутке вверх - теперь оно остается внизу

Текущий код:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">


        <ListView
            android:id="@android:id/android:list"
            android:layout_width="fill_parent" 
            android:layout_height="0dp"
            android:layout_weight="1"
            />

    <TableLayout 
        android:layout_weight="0" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content">

        <TableRow>
            <EditText android:id="@+id/newmessagecontent"
                android:layout_height="150dp" 
                android:singleLine="false"
                android:gravity="top"
                android:layout_width="250dp"
                android:layout_alignParentTop="true"
                  />

            <Button android:layout_height="wrap_content" 
                android:id="@+id/sendmessage" 
                android:text="Send" 
                android:layout_width="wrap_content"
                />
        </TableRow>
    </TableLayout>                  

</LinearLayout>

enter image description here

Ответы [ 2 ]

0 голосов
/ 16 августа 2011

я думаю, что вам нужно реализовать здесь какую-то модификацию SeparatedListAdapter от Джеффа Шарки из этой статьи .В этой статье он не только умудряется добавить два Adapters к ListView, но также объясняет, как иметь заголовки, чтобы разделить их, если вы хотите (вы можете удалить эту часть кода).

Так чтоя имею в виду, что ваши первые Adapter будут данными с Его строками, а вторые Adapter будут фиктивными без данных, которые просто указывают на View с вашими элементами управления или чем-то еще.

таким образом ListView и то, что вы хотите добавить внизу, будут прокручиваться.

Надеюсь, это поможет.

0 голосов
/ 15 августа 2011

ListView автоматически прокручивает, если все элементы в нем занимают больше места, чем обеспечивает представление. Что произойдет, если вы удалите ScrollView?

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