Android GridView——如何以dp单位使用setColumnWidth()设置宽度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android GridView——如何以dp单位使用setColumnWidth()设置宽度相关的知识,希望对你有一定的参考价值。
我有一个GridView,包含3-4列。要根据具体是3列还是4列,调整列的宽度;我无法在包含GridView的XML里通过复杂的代码调整宽度,必须用setColumnWidth()来设置。 问题是,setColumnWidth()只能通过像素来设置宽度,但是我想通过dp设置宽度。 我要怎样做呢?或者必须创建2个layout,分别以dp设置宽度?
你可以用下面的代码将dp转换为px:Resources r = getResources(); float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 14, r.getDisplayMetrics()); 但是,如果列数从3变为4,反过来也一样,列的宽度不会自动调整。 参考技术A 你可以用下面的代码将dp转换为px:Resources r = getResources(); float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 14, r.getDisplayMetrics()); 但是,如果列数从3变为4,反过来也一样,列的宽度不会自动调整。Android 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" //去除选中时的yello底色
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)
以上是关于Android GridView——如何以dp单位使用setColumnWidth()设置宽度的主要内容,如果未能解决你的问题,请参考以下文章