GridLayout的布局属性“android:columnWidth”,在Eclips中不能自动提示填充,但直接写入不会报错。只是该属性的设置在App的实际效果中不能起效。故在代码中为GridLayout的子控件设置宽度,即是GridLayout的列宽。
为控件设置宽度最好用“dp”为单位,但控件的宽度设置函数setWidth()接收的是“px”,所以需将“dp”转化为“px”。二者的转换函数如下:
public int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
public int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}