我正在使用以下代码:
ImageView i = new ImageView(mContext);
i.setImageResource(mImageIds [位置]);
i.setScaleType(ImageView.ScaleType.FIT_XY);
//pixels settings !!!
i.setLayoutParams(new Gallery.LayoutParams(200,100));
但正如您所看到的,它是以像素为单位设置布局尺寸。
是否有人知道如何做同样的事情,但在“沾”?
答案 0 :(得分:19)
以下辅助方法采用输入设备无关像素(DIP)并返回当前设备的实际像素。
private int getPixels(int dipValue) {
Resources r = getResources();
int px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
dipValue,
r.getDisplayMetrics());
return px;
}
答案 1 :(得分:10)
如果您将维度存储为资源,则可以使用
getResources().getDimensionPixelSize(id);
这样也可以更轻松地调整布局。
答案 2 :(得分:1)