7

我正在开发一个 Android 小部件,需要区分Galaxy SGalaxy S2。我几乎阅读了所有关于屏幕尺寸和密度的文章。当然,我需要将新的限定符与新的限定符Smallest Width一起使用。我的问题是,sw320dp 预选赛匹配 Galaxy S 和 Galaxy S2。但我需要 Galaxy S2 的另一种布局,但找不到合适的限定符。

Galaxy S的定义,密度 233

屏幕尺寸(像素):480 像素 x 800 像素

以 dp 为单位的屏幕尺寸:329dp x 549dp(因为 1dp = 1 像素/(密度/160)

-> 所以限定符sw320dp必须在这里匹配。是的

Galaxy S II的定义,密度 218

屏幕尺寸(像素):480 像素 x 800 像素

屏幕尺寸(以 dp 为单位):352dp x 587dp(因为 1dp = 1 像素/(密度/160)

-> 所以限定符sw340dp必须在这里匹配,但不,它不匹配

(在模拟器和真实设备上测试)

drawables 不是问题,但我的布局,特别是这些设备上的高度和文本大小不同,所以我真的需要为它们提供特定的布局。

有人对此有想法或更多经验吗?

4

1 回答 1

5

参考材料定义的屏幕密度为:

屏幕物理区域内的像素数量;通常称为 dpi(每英寸点数)。例如,与“正常”或“高”密度屏幕相比,“低”密度屏幕在给定物理区域内的像素较少。 为简单起见,Android 将所有实际屏幕密度分为四种广义密度:低、中、高和超高。

低 = 120dpi 中 = 160dpi 高 = 240dpi xhi = 320dpi

因此,实际密度为 218 的 Galaxy SII在 dp 计算中被分配了 240 的“高”密度。因此 dp 中的屏幕宽度为 480/240*160 = 320。

这很糟糕,我同意。但这就是它的工作原理。

http://developer.android.com/guide/practices/screens_support.html

于 2013-01-04T21:40:54.397 回答