Будет ли TableLayout предоставлять вертикальную полосу прокрутки? - PullRequest
0 голосов
/ 13 марта 2012

Или мне нужно будет включить ScrollView в TableLayout? Это вообще возможно? Я хочу динамически создавать любое количество строк для экрана, но нужно, чтобы строки прокручивались.

Я тщетно пытался заставить это работать с использованием LinearLayout слишком долго, и думаю, что пришло время перейти к TableLayout или RelativeLayout - какие-либо комментарии по поводу предпочтительности одного над другим?

Ответы [ 3 ]

4 голосов
/ 13 марта 2012

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

<ScrollView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical" >

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

</ScrollView>

Вы можете использовать макет таблицы вместо линейного макета.

2 голосов
/ 13 марта 2012

Ни один из представлений в стиле «список» не будет автоматически выполнять прокрутку.LinearLayout, TableLayout, RelativeLayout, никто из них не делает этого, потому что (как указали другие люди) их так просто обернуть в ScrollView, это просто функциональность, которая им не нужна.

1 голос
/ 13 марта 2012

Вы должны указать ScrollView для вашего TableLayout, как показано ниже:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:background="#ffffff"
    android:layout_height="fill_parent">

    <RelativeLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff">

        <TableLayout 
            android:id="@+id/myTableLayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center"
            android:shrinkColumns="1"/>     

    </RelativeLayout>

</ScrollView>
...