Android GridView - 如何在dp中设置setColumnWidth

时间:2011-09-03 10:34:50

标签: android gridview

我有一个GridView,视情况而定,可能有3个或4个 列。列宽需要根据3或4来改变 正在展示。因此我无法将宽度硬编码到 布局XML包含GridView,它必须通过 setColumnWidth命令。

问题是setColumnWidth只能设置宽度(以像素为单位), 我想用dp指定宽度。我怎么能这样做,或者我必须这样做 创建2个布局,列宽在dp中硬编码到每个布局中?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用此代码将dp转换为px:

Resources r = getResources();
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 14, r.getDisplayMetrics());

但是,由于您将列数从3更改为4,反之亦然,因此列宽不会自行调整?