spe*_*tak 22 android aspect-ratio screen-resolution
可能重复:
在android中将像素转换为dp
我正在尝试将像素转换为dp.公式是什么?
让我们将640和480转换成dp.文档说这个
dp单位到屏幕像素的转换很简单:px = dp*(dpi/160)
但我认为这不是我需要的(我不知道如何使用它).我想我只需要论坛.我准备好了代码:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi)
{
case DisplayMetrics.DENSITY_LOW:
int sixForty = ?
int fourEighty = ?
break;
case DisplayMetrics.DENSITY_MEDIUM:
int sixForty = ?
int fourEighty = ?
break;
case DisplayMetrics.DENSITY_HIGH:
int sixForty = ?
int fourEighty = ?
break;
}
Run Code Online (Sandbox Code Playgroud)
mpo*_*isf 76
您可以直接查询它,而不是尝试从屏幕的密度分类中推断出dp转换因子:
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float logicalDensity = metrics.density;
Run Code Online (Sandbox Code Playgroud)
然后,logicalDensity将包含将dp乘以得到设备屏幕的物理像素尺寸所需的因子.
int px = (int) Math.ceil(dp * logicalDensity);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51869 次 |
| 最近记录: |