如何为Galaxy S4和Nexus 4创建不同的布局



我在Galaxy S4和Nexus 4设备上都使用了"layout-sw360dp",但在我的屏幕上,Galaxy S4显示了一些空间。所以我可以为Galaxy S4和Nexus 4设置不同的布局。如果可能的话,请给我一个解决方案。

Galaxy s4使用layout-xxhdpi

对于Nexus 4使用layout-xhdpi

Galaxy S4 -- 1080 x 1920 pixels -- 5.0" -- 441 ppi -- xxhdpi
Nexus 4   -- 1280 x  768 pixels -- 4.7" -- 320 ppi -- xhdpi

你必须制作不同的图像来适应这些设备的分辨率

根据其他答案,一个设备是640 x 360 dp,另一个是640 x 384 dp

想为他们做一个不同的布局,因为你迟早会看到一个设备640 x 372 dp640 x 388 dp

让你的布局有弹性,不要硬编码像素(与密度无关的像素也可能很难硬编码)。

好了…

供参考
  1. 这是旧的布局文件夹命名约定,但是你明白了。

  2. 您必须将所有内容转换为mdpi以进入以下桶

  3. 用于布局的桶是:Xlarge 960 x720分钟大号640 × 480分钟正常470 × 320分钟小型426x320 min

  4. 缩放比例3:4:6:8:12这意味着你必须乘以ldpi * 3/4才能从ldpi到mdpi必须乘以md* 4/6才能从md到hd必须乘以hdpi * 6/8才能从hdpi得到xhdpi从xhdpi到xxhdpi必须乘以xhdpi * 8/12

所以要回答这个问题....

s4为xxhdpi,表示缩放比为4/12或1/3。这意味着您必须将xxhdpi转换为mdpi才能正确地放置在布局文件夹中。
所以1080 * 1/3 = 3601920 * 1/3 = 640这会把它放到一个普通布局文件夹

nexus 4是xhdpi,这意味着缩放比例是4/8或1/2。这意味着你必须将xhdpi转换为mdpi,以便正确地放置在布局文件夹中。所以1280 * 1/2 = 640768 * 1/2 = 384所以这也会把它放在一个普通的布局文件夹中。

这还不够,因为它们的分辨率不同。我们可以用新的命名约定来创建文件夹。例如,s4的最小宽度是360,而nexus 4的最小宽度是384。所以文件夹可以是sw360dp和sw384dp。
你也可以将文件夹命名为layout-xxhdpi,这样可以捕获s4,但不能捕获nexus 4

要注意:只是把另一个放在那里,如果你也有一个s3。也会放到sw360dp文件夹中。所以我猜你也要区分它们。如果你在上面使用layout-xxhdpi,那么你可以在这里使用sw360dp,在上面也可以使用sw384dp。把它们都盖上。由于

这两款手机都有不同的屏幕尺寸和分辨率
这也导致了不同的密度

据我所知-

Galaxy s4为1080 x 1920像素,5.0英寸(~441 ppi像素密度)。

Nexus 4为1280 x 768像素,4.7英寸(320 ppi)。

你必须根据手机规格设计布局(和图像)。

用于nexus 4下面的布局。

layout-sw360dp

galaxy s3和nexus 4的布局相同

最新更新