首先说一下GridView的一些特殊属性:
1.android:numColumns=”auto_fit” //GridView的列数设置为自动
2.android:columnWidth=”90dp " //每列的宽度,也就是Item的宽度
3.android:stretchMode=”columnWidth"//缩放与列宽大小同步
4.android:verticalSpacing=”10dp” //两行之间的边距
5.android:horizontalSpacing=”10dp” //两列之间的边距
6.android:cacheColorHint="#00000000" //去除拖动时默认的黑色背景
7.android:listSelector="#00000000" //去除选中时的黄色底色
8.android:scrollbars="none" //隐藏GridView的滚动条
9.android:fadeScrollbars="true" //设置为true就可以实现滚动条的自动隐藏和显示
10.android:fastScrollEnabled="true" //GridView出现快速滚动的按钮(至少滚动4页才会显示)
11.android:fadingEdge="none" //GridView衰落(褪去)边缘颜色为空,缺省值是vertical。(可以理解为上下边缘的提示色)
12.android:fadingEdgeLength="10dip" //定义的衰落(褪去)边缘的长度
13.android:stackFromBottom="true" //设置为true时,你做好的列表就会显示你列表的最下面
14.android:transcriptMode="alwaysScroll" //当你动态添加数据时,列表将自动往下滚动最新的条目可以自动滚动到可视范围内
15.android:drawSelectorOnTop="false" //点击某条记录不放,颜色会在记录的后面成为背景色,内容的文字可见(缺省为false)
如果你在程序代码中创建GridView,并将其放入一个LinearLayout中显示,同时LinearLayout嵌入一个HorizontalScrollView中,以达到滚动的目的。
这时你可能会有个错误,数据显示为... ... ... ...
这是为什么呢?
你在代码里必须这样设置宽度:newsGridview.setColumnWidth(mColumnWidthDip);
这里的宽度默认为px,但为了让更多的屏幕适应你的程序,你必须将px改为dip
于是你必须这么做:
private final int COLUMNWIDTH = 55;//单元格宽度为55px,应转换为dp
private int mColumnWidthDip=DensityUtil.px2dip(this, COLUMNWIDTH);
然后你就显示出...了,这是因为你单元格宽度设小了,对你要显示内容的宽度>COLUMNWIDTH=55,所以显示不出来,于是很巧妙的变成了...