我创建了一个可以支持多屏幕的Android应用程序。我使用一些布局文件夹来存储布局文件。这是我当前的布局文件夹结构。
但是当我尝试在三星Galaxy S Duos 3(http://www.gsmarena.com/samsung_galaxy_s_duos_3-6662.php)和三星Galaxy Grand Prime(http://www.gsmarena.com/samsung_galaxy_grand_prime-6708.php)上运行此应用程序时,它采用 layout-sw320dp 。我认为在景观屏幕方面是错误的,因为我总能在右边看到一些空白区域。但我不知道上述设备的正确布局文件夹是什么,方向正确。
实际上现在我想知道5英寸和4英寸设备尺寸的正确布局文件夹是什么(我的设备也有上述尺寸),也可能是5.1英寸及以上。我正在使用 Android Studio 。
对此有任何想法吗?
谢谢。
答案 0 :(得分:1)
为什么你认为它选择了错误的布局(layout-sw320dp
)?手机尺寸 三星Galaxy S Duos 3 为121.4 x 62.9 x 10.8 mm
(4.78 x 2.48 x 0.43 in
) - 这意味着它选择了正确的(最小宽度布局)。也许你会误认为具有分辨率(480 x 800 pixels
)的尺寸 - 布局渲染会查看设备屏幕的实际尺寸 - 而不是其分辨率。对于三星Galaxy Grand Prime 也是如此 - 其尺寸为144.8 x 72.1 x 8.6 mm
(5.70 x 2.84 x 0.34 in
),应选择layout-sw320dp
的最小宽度布局。因此,简而言之,您可以根据布局文件夹名称进行正确的设置,并且您的应用可以正确地选择它们。
我希望这可以帮助您了解您的应用发生了什么。
答案 1 :(得分:1)
这仍然是Android中令人烦恼的主题之一,但不知怎的,我设法解决了这个问题,但很长一段时间。
您必须先按屏幕尺寸处理设备,然后在该屏幕范围内检查不同的密度屏幕。
示例:强> layout-sw320dp(xhdpi devices)如果你只有这个布局文件夹,那么5“以下的设备就会落入这个设备中,一旦找不到正确的 dpi 布局文件夹,他们就会从这里进行渲染。所以要克服这一点,为了获得不同设备尺寸和分辨率的精确布局,我制作了这么多布局文件夹,我也在模拟器和真实设备上进行了测试。
我知道这是非常冗长的方式,但我尝试了许多其他的方式,但每次我曾经在不同的设备上测试它曾经异常呈现,而这个问题几乎完全解决了我。