在 android 中从一个单位传递到另一个单位?
Passing from one unit to another in android?
嗯,我一直在想,有没有一种简单的方法可以将 dp 或毫米甚至英寸转换为 px。 (比如:6dp 就是 20px)
似乎一切通常都是以像素为单位完成的,但我想用它们来保持不同屏幕的比例,并粗略地了解将有多大(用像素猜测感觉真的......很麻烦)
提前致谢,如果问题太模糊,我们深表歉意。
无法以编程方式将毫米甚至英寸转换为 px。如果你想支持不同的屏幕,你可以按照文档here。
将dp转换为px,也可以使用以下方法:
/**
* Convert dp to px.
* @param context
* @param dp the input dp.
* @return the output px.
*/
public static int dpToPx(Context context, int dp) {
float density = context.getResources().getDisplayMetrics().density;
return (int) (dp * density + 0.5);
}
更新:
获取设备的宽度和高度像素的方法如下:
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int widthPixels = metrics.widthPixels;
int heightPixels = metrics.heightPixels;
嗯,我一直在想,有没有一种简单的方法可以将 dp 或毫米甚至英寸转换为 px。 (比如:6dp 就是 20px) 似乎一切通常都是以像素为单位完成的,但我想用它们来保持不同屏幕的比例,并粗略地了解将有多大(用像素猜测感觉真的......很麻烦) 提前致谢,如果问题太模糊,我们深表歉意。
无法以编程方式将毫米甚至英寸转换为 px。如果你想支持不同的屏幕,你可以按照文档here。 将dp转换为px,也可以使用以下方法:
/**
* Convert dp to px.
* @param context
* @param dp the input dp.
* @return the output px.
*/
public static int dpToPx(Context context, int dp) {
float density = context.getResources().getDisplayMetrics().density;
return (int) (dp * density + 0.5);
}
更新:
获取设备的宽度和高度像素的方法如下:
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int widthPixels = metrics.widthPixels;
int heightPixels = metrics.heightPixels;