scrollview внутри linearlayout заставляет кнопки за кадром - PullRequest
1 голос
/ 04 ноября 2010

Я пытаюсь создать действие, которое имеет флажок вверху, кнопку внизу и несколько других виджетов, прокручивающихся между ними.Концептуально это
LinearLayout
CheckBox
ScrollView
LinearLayout
[материал]
LinearLayout-end
ScrollView-end
Кнопка
LinearLayout-end

Когда он рендерится, я получаю флажок вверху, материал прокручивается снизу, но кнопка отображается за пределами экрана (я полагаю) под ScrollView.Единственный способ сделать кнопку видимой - это жестко прописать высоту ScrollView, которая, конечно, работает только на одном размере экрана.Я попробовал все комбинации гравитации и layout_weight, которые я могу придумать безрезультатно.Я использую правильную комбинацию видов?Кому-нибудь удалось заставить это работать?

(я не думаю, что RelativeLayout является вполне подходящим контейнером для этого, но, несмотря на это, я надеюсь избежать его, поскольку он сломан на 1.5.)

Спасибо,

- Эрик

Ответы [ 2 ]

3 голосов
/ 12 января 2013

У меня недавно была такая же проблема, и я добавил:

<ScrollView 
    ...
    android:layout_weight="1" >

это решило мою проблему.

0 голосов
/ 05 ноября 2010

Я использовал это в 2.2, не уверен, что теги layout_above и layout_below доступны в 1.5 (если это то, что вы используете).Расположите три основных элемента: верхний колонтитул, нижний колонтитул и ваш центральный контент (в данном случае представление списка), которым вы хотите заполнить оставшуюся область.

Вы можете заменить ListView на scrollView, если хотитеили любой компонент по этому вопросу.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <Button
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Top Button"/>
    <Button
        android:id="@+id/footer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Button"/>

    <ListView
        android:id="@android:id/center"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@id/header"
        android:layout_above="@id/footer"/>
    </RelativeLayout>

Обратите внимание на порядок ваших элементов.Не уверен, что это актуально, но центральный элемент определяется последним.

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