2011-01-06 20 views

答えて

0

これは可能だろうか。 GridViewは、項目の次元が1つしかないArrayAdapterに基づいています。どのように縦横両方向に拡大することができますか?

もちろん、画面よりも大きく、ハードコードされた行数/列数を使用する場合は、別のスクロール可能なビューに配置することができます。

+0

ジェスチャーをチェックしてスクロールを許可するには、グリッドビューでGestureDetectorを使用できますか?私はグリッド上で両方向のスクロールを可能にするゲームがいくつかあることを確認しました。どのようにこれを達成することができるか考えてください。例えば、私はそれを行うマーケット上で数多くの掃除機アプリを見る。どんな助けでも大歓迎です。ユーザーは、画面上で指をスライドさせることで、スクロールしたい方向にグリッドビューをスクロールできなければなりません。 – random

+0

これらのゲームはGridView以外のものを使用していると思います。 2Dグリッドを描画するカスタムUIウィジェット(ベースのViewクラスから拡張)を作成し、2Dスクロールが有効になるようにタッチジェスチャに反応することができます。 –

0

次の2つの解決策があり、要件に合ったソリューションを使用できます。

  1. GridViewではなくカスタムレイアウトマネージャでRecyclerViewを使用できます。ヘルプはthisコードを読むことができます。また、カスタムレイアウトマネージャを作成する方法については、thisの記事を参照してください。この記事では、双方向スクロールグリッドレイアウトを作成する方法の例を示します。

  2. 他の解決方法は、水平スクロールグリッドレイアウトがスクロールビュー内にラップされた状態でRecyclerViewを使用することです。

    <ScrollView> 
        <RecyclerView /> 
    </ScrollView> 
    

    リサイクルビューの横スクロールを使用してGridLayoutManagerを使用します。

第1の解決法は、適切に表示リサイクルを行う方法で効率的である。

希望すると、これが役立ちます。

関連する問題