资产创建 - 9patch SplashScreen和ScreenDensity

时间:2012-04-27 21:55:40

标签: android size photoshop pixels

所以我得到了整个Android像素的独立性。

我正在创建一个使用9patch的SplashScreen,它会拉伸其边缘以适应所有屏幕尺寸。

我也会在ldpi mpdi hdpi xhdpi中为每个启动画面使用不同大小的9patch图像。 这样,徽标(9patch的非拉伸区域)将是正确的大小。

我知道mdpi相对大小为1.0且hdpi x1.5且xhdpi为x2,但当我创建第一个mdpi图像时我怎么知道应该是多少像素宽/高

希望这是有道理的。

3 个答案:

答案 0 :(得分:1)

真的没有人回答。首先,我不会从mdpi开始并扩大规模 - 最好以最高质量开始。矢量,如果它适合设计,或高分辨率图像(甚至大于您目前计划支持的最大屏幕尺寸)。然后,从那里,只需缩小您计划测试的设备。例如,典型的HDPI分辨率为480 x 800,因此适合它。 XHDPI分辨率可能类似于1280 x 720.如果在具有不同宽高比的设备上使用它,最好在边缘留下大量边距。但是,基本上,设计尽可能大,然后根据您正在处理的密度桶的某些平均屏幕分辨率进行导出。

答案 1 :(得分:1)

  

(...)当我创建第一个mdpi图像时,我怎么知道有多少像素   应该是宽/高吗?

由于mdpi是所有其他密度存储分区的基线,1dp设备上的mdpi将完全转换为1px。换句话说,使用mdpi设备计算屏幕上的相对大小,然后应用给定的缩放比率为ldpihdpi和{{1桶。显然,您实际上不必扩展xhdpi资源 - 您需要确定的是该屏幕密度的大小,然后您可以使用任何源文件为所有存储桶生成图像。

xBroak提供的链接实际上是关于您的问题的最佳信息来源。引用上述声明:

  

与密度无关的像素相当于a上的一个物理像素   160 dpi screen ,这是系统假定的基线密度   用于“中等”密度屏幕。

了解简单的mdpid(i)p公式(也来自同一个链接)也可以派上用场:

  

将dp单位转换为屏幕像素非常简单: px

有了这些信息,您可以轻松验证px = dp * (dpi / 160)设备上1dpmdpi屏幕)是否等于160dpi。只需填写1px即可获得160dpi,这会简化为px = dp * (160 / 160),因此px = dp * 1px = dp。 QED。 :)

答案 2 :(得分:-1)

这些是您的基本准则:

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

更多信息:http://developer.android.com/guide/practices/screens_support.html