如何包含一个大的 GridView 并且仍然能够滚动?
How to contain a large GridView and still able to scroll?
我怎样才能拥有一个大的 GridView 并能够垂直和水平滚动?
我可以垂直滚动,但不能水平滚动。水平宽度固定为父宽度,不能展开大于父宽度。
下面的截图就是我要实现的例子
我可以使用 RecyclerView 垂直滚动,同时使用 ViewPager 水平滚动。
尝试实现 viewPager 水平滚动。
最简单的解决方案是
- 使用水平滚动视图来包含 GridView
- 然后根据您为 GridView 设置的列数动态 re-size 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 并能够垂直和水平滚动?
我可以垂直滚动,但不能水平滚动。水平宽度固定为父宽度,不能展开大于父宽度。
下面的截图就是我要实现的例子
我可以使用 RecyclerView 垂直滚动,同时使用 ViewPager 水平滚动。 尝试实现 viewPager 水平滚动。
最简单的解决方案是
- 使用水平滚动视图来包含 GridView
- 然后根据您为 GridView 设置的列数动态 re-size 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。