您应该结合水平 SCROLLVIEW 和 LINEARLAYOUT 以及 GRIDVIEW 来实现您想要的!将网格视图放在线性布局中,并将线性布局放在水平滚动视图中;
然后在设置适配器时!数一下数据的数量!之后,您应该计算所需的宽度以显示所有项目!例如您想显示 8 项!每个宽度为 100dp 。所以所需的宽度是 800dp!那么你应该添加这些代码行
yourGridView.setNumColumns(8);
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(800, ViewGroup.LayoutParams.MATCH_PARENT);
yourGridView.setLayoutParams(lp);
Run Code Online (Sandbox Code Playgroud)
不要忘记在 xml 中将线性布局的宽度设置为 WRAP_CONTENT!
*** 重要的提示
据我所知,通过这样做,gridview 无法进行垃圾回收,因为 Scroll View 不支持这样的事情,并且您的网格视图嵌套在其中!所以不要对大量图像使用此方法,否则您将收到 HEAP SIZE 错误!
| 归档时间: |
|
| 查看次数: |
7121 次 |
| 最近记录: |