Растяжение TableLayout внутри ScrollView - PullRequest
0 голосов
/ 25 августа 2011

У меня есть TableLayout:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout" android:layout_height="fill_parent"
android:layout_alignParentBottom="true" android:scrollbars="horizontal|vertical"
android:layout_width="fill_parent" android:scrollbarStyle="outsideInset">
<HorizontalScrollView android:id="@+id/horizontalView" android:layout_height="fill_parent"
            android:layout_width="fill_parent">
    <TableLayout android:id="@+id/reportTableLayout"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:stretchColumns="1">
    </TableLayout>
</HorizontalScrollView>
</ScrollView>

Я установил для layout_width значение fill_parent, и все же столбцы моей таблицы, похоже, не растягиваются и не заполняют остальную часть пространства ширины.Слева все еще есть поле, но я хочу, чтобы мой стол растягивался на всю ширину экрана.Есть идеи?Спасибо.

Ответы [ 2 ]

11 голосов
/ 25 августа 2011

Я понял. Ответ: установите это в ScrollView:

android:fillViewport="true"
1 голос
/ 25 августа 2011

Если у вас есть только один столбец, android:stretchColumns="1" ничего не будет делать, потому что число представляет индекс столбца, который нужно растянуть (при этом 0 является индексом первого столбца).Попробуйте использовать android:stretchColumns="*"

РЕДАКТИРОВАТЬ: Если подумать об этом немного больше, я сомневаюсь, что fill_parent на самом деле повлияет на horizontalScrollView.Поскольку представление бесконечно прокручивается в горизонтальном направлении, я не думаю, что android принимает во внимание layout_width, если только это не жестко заданное значение.Вы можете попробовать установить layout_width в тот же размер, что и ваш экран (может быть, получить ширину экрана и установить минимальную ширину в коде?).

...