强制GridView只有一行?

时间:2010-09-16 01:38:07

标签: android

有没有办法强制GridView只是一行?现在默认情况下,它将扩展其高度以适应其适配器提供的所有视图

1 个答案:

答案 0 :(得分:0)

你应该结合水平的SCROLLVIEW和LINEARLAYOUT以及GRIDVIEW来实现你想要的! 将网格视图放在linearlayout中,并将线性布局放在水平滚动视图中;

然后设置适配器!统计数据的数量! 之后,您应该计算所需的宽度,以显示您的所有项目! 例如,你想要显示8项!每个宽度为100dp。所以所需的宽度将是800dp! 那么你应该添加这些代码行

yourGridView.setNumColumns(8);
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(800, ViewGroup.LayoutParams.MATCH_PARENT);
yourGridView.setLayoutParams(lp);

dnt忘记在xml中将线性布局的宽度设置为WRAP_CONTENT!

***重要提示

据我所知,通过这样做,gridview无法进行垃圾收集,因为Scroll View不支持这样的事情并且您的网格视图嵌套在其中! 所以dnt对很多图像使用这种方法,否则你会得到HEAP SIZE错误!