Lit*_*ild 4 android screen dpi density-independent-pixel
稍微有点noob-ish问题,但在计算手机密度桶的时候我感到很困惑.我将把我的Galaxy S3作为一个例子.
它的分辨率1280 x 720意味着它具有306 dpi.现在,参考下面的图表,我的手机属于该hdpi类别,因为它的屏幕数量240 dpi超过了320 dpi所需数量xhdpi.所以,手机是853 x 480 DP(除以1.5)
但是,我手机上的屏幕信息应用程序告诉我它是一个xhdpi屏幕.所以,手机是640 x 360 DP(除以2).
我怎么知道手机的密度桶是什么?
更新:
我正在尝试为我所在国家/地区的前10款Android手机设计我的应用.因此,我正在计算他们在DP中的大小,以根据他们的"最小宽度DP"设计UI.这不是一次性的大小计算.
323*_*3go 10
如果您想知道一次,您可以获得像ScreenInfo这样的应用程序并运行它.如果您想以编程方式了解,可以添加密度文件夹,例如values-mdpi和values-xhdpi,将xml文件放入其中,例如whoami.xml使用以下内容:
<resources>
<string name="density_bucket">mdpi</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
并且,分别为:
<resources>
<string name="density_bucket">xhdpi</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后从应用程序查询:
String densityBucket = getResources().getString( R.string.density_bucket );
Run Code Online (Sandbox Code Playgroud)
Ste*_*yle 10
嘿,我认出那张图表!主要是因为我创造了它:D.为了澄清,该图表显示了每个密度桶的基线dpi,但不能用于确定设备应归类为哪个密度桶.也就是说,下图显示了如何将设备推广到密度桶中,您可以看到它们的dpi可能高于或低于它们所属的桶.
现在回答你的问题,不幸的是,没有任何保证的方法可以知道设备将完全基于其规格的密度桶.这是因为设备制造商能够选择密度桶.大多数情况下,他们会选择最接近设备实际dpi的桶**.幸运的是,谷歌已经收集了一系列常见设备,以及它们的屏幕尺寸dp和密度桶.这应该可以让您了解如何正确支持最常见的屏幕尺寸.
**注意:有些设备有自己特殊的密度桶.最值得注意的是,Nexus 7(2012)为213dpi(tvdpi),Nexus 5X为420dpi,Nexus 6和6P为560dpi.这些设备从其他密度版本中获取资产并进行扩展.
| 归档时间: |
|
| 查看次数: |
1998 次 |
| 最近记录: |