【问题标题】:Both way scrollable gridview in androidandroid中的双向可滚动gridview
【发布时间】:2011-01-06 09:27:46
【问题描述】:

是否可以让 griview 在 android 中同时垂直和水平滚动?请指教。

【问题讨论】:

    标签: android gridview


    【解决方案1】:

    它怀疑这是可能的。 GridView 基于 ArrayAdapter,项目只有 1 个维度。您如何将它们排列在一个可以垂直和水平扩展的视图中?

    当然,如果你只是想让它大于屏幕并使用硬编码的行数/列数,你可以把它放在另一个可滚动的视图中。

    【讨论】:

    • 是否可以在 gridview 上使用 GestureDetector 来检查手势并允许滚动?我观察到有一些游戏允许在网格上双向滚动。知道如何实现这一点。例如我在 Market 上看到了许多扫雷应用程序。任何帮助是极大的赞赏。用户应该能够通过在屏幕上滑动手指来沿他们想要滚动的方向滚动网格视图
    • 我认为那些游戏使用的不是 GridView。您可以编写一个自定义 UI Widget(从基础 View 类扩展)来绘制 2D 网格,并以启用 2D 滚动的方式对触摸手势做出反应。
    【解决方案2】:

    有以下两种解决方案,您可以使用适合您要求的一种。

    1. 您可以通过自定义布局管理器使用 RecyclerView 而不是 GridView。您可以阅读this 代码寻求帮助。此外,您可以阅读this 文章,了解如何创建自定义布局管理器。本文举例说明如何创建双向滚动网格布局。

    2. 另一个解决方案是使用带有水平滚动网格布局的 RecyclerView 包裹在滚动视图中。

      <ScrollView>
          <RecyclerView />
      </ScrollView>
      

      将 GridLayoutManager 与水平滚动一起用于回收站视图。

    第一个解决方案在正确处理视图回收方面很有效。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多