Android 如何为所有设备设置相同的imageview上的填充

Android 如何为所有设备设置相同的imageview上的填充,android,android-layout,imageview,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 sta

您好,我正在将填充设置为
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);
}
我想对所有设备保持相同的填充。有什么办法吗

索尼设备

三星豆


设置填充以像素为单位接收值

因此,您需要从倾斜开始并转换为像素:

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

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

您应该将倾斜转换为像素,如下所示: