android - 无法使我的表水平滚动

时间:2012-02-26 13:42:15

标签: android android-layout

我正在尝试在android中创建一个可水平滚动的表。当我输入超过屏幕大小的数据时,滚动条不会出现。我尝试了各种各样的东西(有/没有LinearLayout作为Horizo​​ntalScrollView的子代,控件宽度的各种选项)。什么都行不通。求助。

这是我的配置:

  <HorizontalScrollView
    android:id="@+id/horizontalScrollView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <TableLayout
            android:id="@+id/tableLayout1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TableRow
                android:id="@+id/tableRow1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:id="@+id/TextView01"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="3dp"
                    android:text="@string/passphrase" />

                <Spinner
                    android:id="@+id/passphraseSpinner"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
            </TableRow>

            <TableRow
                android:id="@+id/tableRow2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="3dp"
                    android:text="@string/configuration" />

                <Spinner
                    android:id="@+id/configurationSpinner"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
            </TableRow>

            <TableRow
                android:id="@+id/tableRow3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:id="@+id/textView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="3dp"
                    android:text="@string/speaker" />


                <EditText
                    android:id="@+id/editSpeaker"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:imeOptions="actionGo"
                    android:singleLine="true"
                    android:text="@string/defaultSpeaker" />

            </TableRow>
        </TableLayout>
    </LinearLayout>
</HorizontalScrollView>

2 个答案:

答案 0 :(得分:2)

这个回答Scrollview vertical and horizontal in android引导我:http://android-code-crumbs.blogspot.com/2011/06/how-to-set-horizontal-and-vertical.html#more

这给了我这个,我希望这会有所帮助:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="title:" />

    <ScrollView
        android:id="@+id/layout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="5dip"
        android:fillViewport="true"
        android:scrollbarStyle="outsideInset"
        android:scrollbars="horizontal|vertical" >

        <HorizontalScrollView
            android:id="@+id/horizontalView"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginTop="5dip"
            android:scrollbars="horizontal|vertical" >

            <TableLayout
                android:id="@+id/tableLayout1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TableRow
                    android:id="@+id/tableRow1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/TextView01"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:padding="3dp"
                        android:text="sdf" />

                    <Spinner
                        android:id="@+id/passphraseSpinner"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/textView1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:padding="3dp"
                        android:text="sdfsdf" />

                    <Spinner
                        android:id="@+id/configurationSpinner"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <HorizontalScrollView
                        android:id="@+id/hs"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" >

                        <TextView
                            android:id="@+id/textView3"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:padding="3dp"
                            android:text="sdasdjsaljdjhdlksajhdlksajhdlkjsahdlksajhdlfsd" />
                    </HorizontalScrollView>

                    <EditText
                        android:id="@+id/editSpeaker"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:imeOptions="actionGo"
                        android:singleLine="true"
                        android:text="sdf" />
                </TableRow>
            </TableLayout>
        </HorizontalScrollView>
    </ScrollView>

</LinearLayout>

答案 1 :(得分:0)

使用此

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">
    <!-- everything you already have -->
</TableLayout>