如何在所有设备的相同图像视图上设置填充

时间:2014-05-05 19:19:04

标签: android android-layout imageview

您好我正在为ImageView设置填充,并且每个设备都向我显示不同的填充,某个地方较小或某处更多。

我这样做

int padding = Util.dpFromPx(6, this);
thumbnailImageView.setPadding(padding, padding, padding, padding);
thumbnailImageView.setBackgroundColor(Color.WHITE);

// convert the px to dp
public static int dpFromPx(float px, Context context) {
    return (int) (px / context.getResources().getDisplayMetrics().density);
}

我想保持所有设备的填充相同。有没有想过呢?

索尼设备

enter image description here

三星Dous

enter image description here

1 个答案:

答案 0 :(得分:1)

SetPadding接收以像素为单位的值。

所以你需要从逢低开始并转换为像素:

int paddingInPx = Util.dipsToPixels(6);
thumbnailImageView.setPadding(paddingInPx , paddingInPx , paddingInPx , paddingInPx );

public int dipsToPixels(int dips)
    {
        return (dips * getApplicationContext().getResources().getDisplayMetrics().density + 0.5f);
    }