5
<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:columnWidth="100dip"
android:numColumns="8"
android:scrollbarStyle="insideOverlay"
android:scrollbars="vertical|horizontal"
android:stretchMode="none" >
</GridView>

如上所示,我想在 gridview 中同时使用垂直和水平滚动条。我看到垂直的效果很好,但水平的不行。所以我尝试通过将 gridview 放置在 Horizo​​ntal Scroll View 下来修复它,如下所示

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

        <GridView
            android:id="@+id/gridView1"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:columnWidth="100dip"
            android:numColumns="8"
            android:scrollbarStyle="insideOverlay"
            android:scrollbars="vertical|horizontal"
            android:stretchMode="none" >
        </GridView>

    </HorizontalScrollView>

更糟糕的是,它只显示一列gridview,当然,没有水平滚动条。

我该如何解决?

4

2 回答 2

0

GridView扩展AbsListView类。本质上,网格视图是一个列表视图,除了行之外还支持列。所以它不支持水平滚动。

您通过设置android:scrollbars="vertical|horizontal"属性所做的基本上是指示网格视图同时显示水平滚动条和垂直滚动条。设置此属性不会启用视图中的滚动(gridview 和 listviews 在本质上启用了滚动)。

如果您可以对您正在尝试做的事情进行更多解释,则可以建议另一种方法。

于 2013-01-23T10:15:58.693 回答
0

在android中同时使用水平和垂直scoolview的最佳解决方案

      <HorizontalScrollView
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/seatLegendLayout">

            <FrameLayout
                android:layout_width="fill_parent"
                android:layout_height="match_parent">

                <LinearLayout
                    android:id="@+id/linearLayout_gridtableLayout"
                    android:layout_width="900dp"
                    android:layout_height="match_parent"
                    android:orientation="horizontal">

                    <GridView
                        android:id="@+id/gridView1"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_margin="4dp"
                        android:columnWidth="100dp"
                        android:gravity="center"
                        android:numColumns="9"
                        android:horizontalSpacing="1dp"
                        android:scrollbarAlwaysDrawHorizontalTrack="true"
                        android:scrollbarAlwaysDrawVerticalTrack="true"
                        android:scrollbars="horizontal"
                        android:stretchMode="none"
                        android:verticalSpacing="1dp">

                    </GridView>


                </LinearLayout>
            </FrameLayout>
        </HorizontalScrollView>
于 2016-03-21T10:52:58.103 回答