Линейный макет над прокруткой - PullRequest
2 голосов
/ 16 декабря 2011

У меня есть простая раскладка Android, состоящая из прокрутки, содержащей раскладку таблицы.Эта таблица отображается правильно, но я хотел бы добавить статический заголовок над просмотром прокрутки, чтобы в основном метки для столбцов в таблице всегда оставались вверху экрана.Однако, когда я добавляю <LinearLayout> выше <ScrollView> в моем файле макета, все это исчезает.

Может кто-нибудь заметить, что я сделал неправильно с моим XML-файлом?

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

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="top" >

        <LinearLayout 
            android:id="@+id/header"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            />

        <ScrollView
            android:id="@+id/scrollView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <TableLayout 
                android:id="@+id/mainTable"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" />
        </ScrollView>

    </LinearLayout>

Как таковой, я не вижу скролл-просмотр или макет таблицы, но если удалить header linearlayout, он отображается просто отлично.

Ответы [ 3 ]

3 голосов
/ 16 декабря 2011

LinearLayouts необходимо установить параметр android:orientation.

1 голос
/ 16 декабря 2011

Вы должны установить ориентацию родительского LinearLayout в вертикальное положение!По умолчанию установлено горизонтальное, поэтому вы не видите ScrollView.

, и вы можете попробовать это:

<LinearLayout 
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_weight="0"
        />

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="0dp" android:layout_weight="1">

        <TableLayout 
            android:id="@+id/mainTable"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </ScrollView>

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

0 голосов
/ 16 декабря 2011

layout_height вашего scrollview установлен на fill_parent.Использовать wrap_content.

...