Прокрутка текста над кнопками, кнопки закреплены внизу

У меня проблемы с получением результатов макета графического интерфейса, которые я хочу в приложении для Android.

Краткое описание того, что я хочу:

Графический интерфейс должен включать два TextView. и четыре кнопки.

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

Первый из двух TextView должен начинаться в верхней части экрана, при этом текстовое содержимое может варьироваться от одной строки до многих десятков строк - больше, чем поместится на экране без прокрутки. Поэтому для просмотра всего содержимого иногда требуется прокрутка. Даже когда прокрутка необходима, кнопки не должны участвовать в прокрутке: они всегда должны оставаться в одной строке в правом нижнем углу экрана. Когда прокрутка необходима, прокручиваемый текст всегда должен находиться над кнопками - кнопки не должны перекрывать текст.

Второй из двух TextView должен появляться непосредственно под первым TextView и обычно добавляет только один или две строки до общей длины текста. Когда необходима прокрутка, второй TextView должен прокручиваться с первым TextView, но все, что я пробую с прокруткой текста, всегда приводит к тому, что текст прокручивается за кнопками - кнопки накладываются на текст. Я не придумал, чтобы кнопки выровнялись по нижнему правому краю.)

Если кто-нибудь хочет помочь мне разобраться в этом, приведенный ниже пример макета xml является отправной точкой для разговора, но он определенно не может достичь Целевой результат, как показано на следующих снимках экрана, сгенерирован с использованием того же примера макета xml. (Хотя некоторые снимки экрана демонстрируют ту же проблему, они помогают показать, где я нахожусь на разных экранах.)

<?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="wrap_content">
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Text View 1.  Text varies from a few lines to many more lines than what fits on the screen.  Scrolling is necessary to see it all." />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Text View 2.  Short text entry sits below Text View 1." />
        </LinearLayout>
    </ScrollView>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button
            android:id="@+id/button_1"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 1" />
        <Button
            android:id="@+id/button_2"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 2" />
        <Button
            android:id="@+id/button_3"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 3" />
        <Button
            android:id="@+id/button_4"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 4" />
    </LinearLayout>
</LinearLayout>

1.5_API3_HVGA_Horizontal_MDPI - short_text:
1.5_API3_HVGA_Horizontal_MDPI - short_text

Проблема: кнопки должны выровняться по нижнему правому краю экрана. экран.

-

1.5_API3_HVGA_Vertical_MDPI - short_text:
1.5_API3_HVGA_Vertical_MDPI - short_text

Проблема: кнопки должны выровняться по нижнему правому краю экрана.

-

1.5_API3_QVGA_240x320_MDPI - short_text:
1.5_API3_QVGA_240x320_MDPI - short_text

Проблема: 4-я кнопка не работает. Предпочитайте переносить текст на первых трех кнопках при необходимости, оставляя достаточно места для отображения четвертой кнопки.

-

1.5_API3_QVGA_320x240_MDPI - short_text:
1.5_API3_QVGA_320x240_MDPI - short_text

Проблема: кнопки должны выровняться по нижнему правому краю экрана.

-

1.6_API4_QVGA_Horizontal_LDPI - long_text:
1.6_API4_QVGA_Horizontal_LDPI - long_text

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

-

1.6_API4_QVGA_Horizontal_LDPI - short_text:
1.6_API4_QVGA_Horizontal_LDPI - short_text

Проблема: кнопки должны выровняться по правому нижнему краю экрана.

-

1.6_API4_QVGA_Horizontal_LDPI - very_long_text, полоса прокрутки вверху:
1.6_API4_QVGA_Horizontal_LDPI - very_long_text, scrollbar at top

Проблема: Кнопок нет на экране. Они должны быть зафиксированы в правом нижнем углу экрана.

-

1.6_API4_QVGA_Horizontal_LDPI - very_long_text, scrollbar внизу:
1.6_API4_QVGA_Horizontal_LDPI - very_long_text, scrollbar at bottom

Проблема: кнопки не находятся где-либо, хотя полоса прокрутки текста находится на дно. Они должны быть закреплены в правом нижнем углу экрана.

-

1.6_API4_QVGA_Vertical_LDPI - short_text:
1.6_API4_QVGA_Vertical_LDPI - short_text

Проблема: кнопки должны быть выровнены по правому нижнему краю экрана.

-

Есть какой-нибудь совет?

-

Дополнительная информация: когда я пытаюсь использовать RelativeLayout и фиксирую кнопки внизу экрана с помощью android: layout_alignParentBottom = "true" , тогда мой проблема в том, что я не знаю, как исправить нижнюю часть прокрутки с помощью верхней части кнопок. Используется android: layout_alignBottom = "@ id / buttons" просто выравнивает нижнюю часть области прокрутки с нижней частью кнопок, но затем кнопки перекрывают текст, например:

-

Обновление: проблема фиксации кнопок в правом нижнем углу , с прокручивающимся текстом над кнопками решена.

Вот измененный XML макета, который работает до сих пор (вставьте больше текста в текстовое представление 1, если вы хотите видеть прокрутку):

<?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">
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Text View 1.  Text varies from a few lines to many more lines than what fits on the screen.  Scrolling is necessary to see it all." />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Text View 2.  Short text entry sits below Text View 1." />
        </LinearLayout>
    </ScrollView>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right">
        <Button
            android:id="@+id/button_1"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 1" />
        <Button
            android:id="@+id/button_2"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 2" />
        <Button
            android:id="@+id/button_3"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 3" />
        <Button
            android:id="@+id/button_4"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 4" />
    </LinearLayout>
</LinearLayout>
У меня осталась проблема, для которой Выложу новый вопрос.
9
задан Thane Anthem 27 March 2011 в 23:54
поделиться