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>

上記のように、グリッドビューで垂直スクロールバーと水平スクロールバーの両方を使用したい。垂直のものはうまく機能するのを見ましたが、水平のものはうまくいきません。だから私は以下のように水平スクロールビューの下にグリッドビューを配置することでそれを修正しようとしました

    <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 の 1 列しか表示されず、もちろん水平スクロールバーもありません。

どうすれば修正できますか?

4

2 に答える 2

0

GridViewAbsListViewクラスを拡張します。本質的にグリッド ビューは、行に加えて列をサポートするリストビューです。そのため、横スクロールには対応していません。

属性を設定することによって基本的に行ったことandroid:scrollbars="vertical|horizontal"は、水平スクロール バーと垂直スクロール バーの両方を表示するようにグリッド ビューに指示することです。この属性を設定しても、ビューでのスクロールは有効になりません (グリッドビューとリストビューでは、本質的にスクロールが有効になっています)。

あなたがやろうとしていることについてもう少し説明できれば、別のアプローチが提案される可能性があります。

于 2013-01-23T10:15:58.693 に答える
0

Androidで水平方向と垂直方向の両方のスクロールビューを使用するための最良のソリューション

      <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 に答える