在Android上处理同一类别的不同屏幕尺寸的最佳方式

时间:2011-10-27 21:23:28

标签: android screen

这些Android屏幕尺寸类别很小,正常,....

我认为通过单独定义应用程序屏幕可以覆盖几乎100%最常见的屏幕,但是,今天我被证明是错误的:

HTC Legend有320 x 480(宽x高)和三星Galaxy有480 x 800,两者都选择以正常的定义显示(因为我没有大)

处理此问题的最佳方法是什么?我是否真的需要以大格式定义所有屏幕?

实际上宽度不是问题 - 相同的定义适用于小型,普通型,大型 - 但高度确实会造成麻烦。

你是否只是让屏幕可以分解才能达到高度?

感谢您的任何想法!

2 个答案:

答案 0 :(得分:2)

如果您愿意,可以按最小尺寸进一步指定屏幕尺寸。这是放置宽度最小为600dp的屏幕布局的目录:

layout-sw600dp

虽然,我认为这可能仅适用于> = 3.2 :(。但是,可能有一种聪明的方法可以利用选择器优先级。Read up.

我知道这有点推荐,但一般来说,尝试使用线性布局,权重和9补丁来确保您的布局可用于所有分辨率。理想情况下,你应该只需要一个不同的xlarge布局与其他布局。

答案 1 :(得分:1)

要做的一件事是尽可能使用9补丁图像,另一种方法是设置服务器端机制,告诉客户端要使用哪个资产文件夹。因此,在下载后首次启动时,客户端会向服务器发送手机用户代理字符串。服务器确定最佳资产大小,并将该信息发送回客户端,客户端将其缓存。从这里开始,客户端知道要使用哪个文件夹。

当应用程序卸载并稍后再次安装时,这会中断。但这也可以解决,因为在这种情况下,客户端应用程序将在下载用例之后表现为初始启动。