我有一个Android应用程序,我想显示高品质的图像。然而,有许多不同的屏幕尺寸和比例。我知道有些过滤器可以在Market中显示仅适用于具有小/中/大屏幕的设备的应用程序。
如果我将两种尺寸的图像放在一个应用程序中,它会使应用程序的大小加倍,对吗?
为不同的屏幕尺寸制作多个版本是一个好习惯吗?
我想在3个版本中为这些设备制作1个应用程序:
如果可以这样做,我如何在清单中指明它们?还是在市场的某个地方?
答案 0 :(得分:7)
Android有一个内置机制,可以根据不同的屏幕尺寸和像素密度设计资源。它被称为资源目录限定符,您可以阅读所有相关内容here。
例如,对于小屏幕尺寸,您可以创建特定的布局文件并将其放在res/layout-small
目录中。对于更大的屏幕,您可以创建一个具有相同名称的布局文件,并将其放在res/layout-large
(或res/layout-xlarge
)目录中。
对于像素密度,您可以创建一个小版本的图像资源,并将它们放在res/drawable-ldpi
目录中(较低的像素密度)。对于更高的像素密度,您可以创建备用版本并将它们放在res/drawable-hdpi
目录中。
我建议您阅读Supporting Multiple Screens上的页面,让Android通过其内置机制帮助您。创建应用程序的三个单独副本对您来说难以维护,并且会使潜在用户感到困惑(大多数用户可能既不知道也不关心“像素密度”)。什么阻止他们下载错误版本的应用程序,并因此而获得糟糕的体验?
答案 1 :(得分:2)
正如Donut在上面提到的那样,android为这个here,here,here和here提供了出色的文档。
请注意,所有Manifest文件的更改以及如何创建一个支持不同屏幕尺寸,不同密度和不同SDK的二进制文件都在android网站上。但它需要仔细规划和测试才能这样做。
最好的方法是在开发环境中安装所有设备配置(列出here,包括三星Galaxy Tab模拟器(大屏幕,hdpi)here),并在其上测试您的应用。
答案 2 :(得分:2)
似乎没有人正在解决你真正要问的文件大小问题,所以我会尝试。
您应该将高质量图像打包为一组单独的下载,一个用于您计划支持的每种类型的设备。这使您的基础应用程序变小,并确保最终用户的磁盘空间仅由其所需的图像填充。
我自己并没有这样做,但希望这个想法会让你找到正确的搜索路径。我想你设计单独的下载作为你自己的服务器上的资源,或市场上的另一组应用程序(即“MyApp Image Pack HDPI”,“...... MDPI”等)。
答案 3 :(得分:0)
您必须为每个版本创建不同的.apk,并在应用程序的清单文件中定义它。请使用此链接 http://developer.android.com/guide/practices/screens-distribution.html