繁体   English   中英

在Android中从dp转换为px

[英]Converting from dp to px in android

我在Android文档中找到了这一点:

dp单位到屏幕像素的转换很简单: px = dp * (dpi / 160)

但是我不知道什么是dpi以及如何计算。 有什么帮助吗?

dpi表示每英寸点数。 在android中,它用来表示手机的屏幕密度。

Android智能手机支持4种dpi

  1. 低密度(120),ldpi
  2. 中密度(160),mdpi
  3. 高密度(240),hdpi
  4. 超高密度(320),xhdpi

您可以从DisplayMetrics结构中获取显示信息:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

访问http://developer.android.com/guide/practices/screens_support.html ,以获取有关屏幕尺寸的更多信息。

dpi表示每英寸点数,是任何屏幕的物理特征。

您可以通过检查DisplayMetrics类的xdpiydpi字段来访问x和y dpi值。 要获取DisplayMetrics使用以下内容...

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float x = metrics.xdpi; // Retrieve the x dpi value
float y = metrics.ydpi; // Retrieve the y dpi value

请阅读这篇文章,我想你会得到答案的:)

在Android上,“ px”,“ dp”,“ dip”和“ sp”有什么区别?

也许与DP计算器一起玩将说明其工作原理。 我认为, 这个漂亮的转换器可以最好地展示它

它说明了像素尺寸如何在不同密度的屏幕之间显示为不同的物理尺寸。 例如,在具有两倍DPI的屏幕上,48px的大小将显示一半。

Android已知各种DPI箱:

  • ldpi,120 dpi
  • dpi,160 dpi
  • 电视dpi,213 dpi
  • hdpi,240 dpi
  • xhdpi,320 dpi
  • xxhdpi,480 dpi
  • xxxhdpi,640 dpi

基准DPI为160(mdpi),其中1dp = 1px。 两倍于此值320(xhdpi),1dp = 2px。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM