Android 如何包含一个大的GridView并且仍然能够滚动?

Android 如何包含一个大的GridView并且仍然能够滚动?,android,android-gridview,android-scrollview,Android,Android Gridview,Android Scrollview,如何实现大网格视图并能够垂直和水平滚动 我可以垂直滚动,但不能水平滚动。水平宽度固定为父宽度,不能扩展到大于父宽度 下面的屏幕截图就是我想要实现的示例 我可以使用RecyclerView垂直滚动,也可以使用ViewPager水平滚动。 尝试实现水平滚动。最简单的解决方案是 使用水平滚动视图来包含GridView 然后根据为GridView设置的列数动态调整GridView宽度的大小 最后,将列数乘以每列的宽度 GridView gridView = (GridView) findViewById

如何实现大网格视图并能够垂直和水平滚动


我可以垂直滚动,但不能水平滚动。水平宽度固定为父宽度,不能扩展到大于父宽度

下面的屏幕截图就是我想要实现的示例


我可以使用RecyclerView垂直滚动,也可以使用ViewPager水平滚动。
尝试实现水平滚动。

最简单的解决方案是

  • 使用水平滚动视图来包含GridView
  • 然后根据为GridView设置的列数动态调整GridView宽度的大小
  • 最后,将列数乘以每列的宽度

    GridView gridView = (GridView) findViewById(R.id.grid_view);
    int numberOfColumns = 3;
    int sizeOfWidthPerColumn = 20;
    gridView.setNumColumns(numberOfColumns);
    ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();
    layoutParams.width = convertDpToPixels(numberOfColumns * sizeOfWidthPerColumn, this);
    gridView.setLayoutParams(layoutParams);
    

  • 现在我可以水平和垂直滚动GridView了。

    文章中可能重复的解决方案是使用表格布局,但我需要使用GridView。您看到其他答案了吗?重复并不一定意味着你要寻找的是准确的解决方案,它还意味着在那里收集的信息不需要复制到这里。我想水平和垂直滚动查看整个gridview,因为我的gridview将包含许多列,并且屏幕大小不合适。好的,您应该检查以下答案。