我无法处理非标准分辨率

时间:2015-04-01 04:01:02

标签: android android-resolution

我为我的项目设计了。它适用于Nexus 6,分辨率为1440px x 2560px和493 ppi。我的设计 - 1440px x 2560px。

我知道:

ldpi    120 dpi
mdpi    160 dpi
tvdpi   213 dpi
hdpi    240 dpi
xhdpi   320 dpi
xxhdpi  480 dpi
xxxhdpi 640 dpi

我有 - 493 ppi。这是什么?我的设计按钮尺寸为100x50像素。 有多少dpi需要按钮才能看到设计?

2 个答案:

答案 0 :(得分:2)

希望这会有所帮助:Getting Your Apps Ready for Nexus 6 and Nexus 9

  

Nexus 6

     

<强>屏幕

     

Nexus 6拥有令人印象深刻的5.96英寸Quad高清屏幕显示屏   分辨率为2560 x 1440(493 ppi)。这转换为~730 x 410 dp   (密度无关的像素)。

     

检查您的资产

     

它具有 560 dpi 的量子化密度,其介于...之间   xxhdpi和xxxhdpi主密度桶。对于Nexus 6,   平台将缩减xxxhdpi资产,但如果不是   可用,然后它将扩大xxhdpi资产。

编辑:

考虑这一行

  

2560 x 1440(493 ppi)。这转换为~730 x 410 dp(密度   独立像素)

这意味着比例因子是2560/730 = 1440/410~3.5

对于宽度为410且高度为730的屏幕dp,如果要指定dp中屏幕宽度的一半的按钮,宽度应为410/2 = 205 dp,转换为717px = 205 * 3.5(宽度)在dp *比例因子)

尺寸为100px x 50px的按钮在410 x 730 dp的屏幕尺寸上将转换为28 x14 dp(100 / 3.5 * 50 / 3.5)。

答案 1 :(得分:1)

如果您真的担心正确的显示分辨率(听起来像你这样),那么你应该永远依赖于通用文件夹。这些文件夹用于通用目的 - 不适用于自定义或高价值显示。

您应该使用displayMetrics来衡量屏幕尺寸并选择适当的资产,甚至可以使用自定义图像缩放。这组属性有很多资源,但基本上它可以解决您面临的问题:为高度自定义的显示设置适当的边距,填充,分辨率,布局等。

以下是文档: http://developer.android.com/reference/android/util/DisplayMetrics.html

然后一些&#34;简单&#34;获取指标的实现: How to get screen display metrics in application class

getting the screen density programmatically in android?