不调用Layout-sw400dp。多屏支持

时间:2018-12-08 14:00:49

标签: android android-layout

我有多种布局来支持不同的屏幕尺寸:

layout-sw320dp (smallest phones, 4.0" and smaller)

layout-sw360dp (approximately 4.7-5")

layout-sw400dp (most phones right now, 5-6")

注意:此值来自Android Studio Design中的Layout Editor标签。 (layout-sw320dp的示例)

enter image description here

layout-sw320dp的{​​{1}}中设计了小屏幕尺寸的第一种布局(Android Emulator

第二种布局(Nexus S)是在真实设备layout-sw360dp上设计的

它们两者都有效!每种布局都会根据电话屏幕尺寸进行调用:Samsung Galaxy A3 2017 - 4.7''上的layout-sw320dpNexus S,电话上的4.0'是电话layout-sw360dp

我的问题出在4.7"及更大layout-sw400dp的设备上。对于此布局,我有另一个真实的电话5",但是在此电话上,该应用正在呼叫Samsung Galaxy S7 edge - 5.5"而不是layout-sw360dp。这仅发生在我的真实手机上。在layout-sw400dp上的Android Emulator(具有与Pixel XL-S7 edge完全相同的屏幕规格和相同的分辨率)中,应用调用正确的布局。

更新5.5"的示例 enter image description here

我的问题是:为什么会这样?我该如何解决layout-sw400dp且电话比5"大的电话拨打其他电话吗?

1 个答案:

答案 0 :(得分:1)

三星S7 Edge是5.5英寸手机,属于sw360dp类别

这意味着一切都在按原样进行

链接https://material.io/tools/devices/

重点是, DP不仅取决于屏幕一侧,还取决于屏幕尺寸和显示器实际具有多少像素。