我在 res 文件夹中创建了 layout-large , layout-normal 和 layout-xlarge 将所有xml文件复制到这些布局文件夹
首先,我想问一下布局(默认)和默认之间的区别 layout-normal 文件夹?
我知道如果我在大屏幕尺寸上运行应用程序,应用程序将从 layout-xlarge 中获取xml文件。 所以我使用 tap2 10.1 中的FrameLayout按照我的意愿制作了 layout-xlarge 中的所有元素, 但是当我在 note2或s3 mobile 中运行时,它看起来不同,因为屏幕尺寸不同。
那么如何让应用程序在tap2 10.1(1,280 x 800)和note2或s3 mobile(1,280 x 720)尺寸下运行?
答案 0 :(得分:12)
Here有关于如何支持所有屏幕大小的官方说明。如上所述,布局文件夹是:
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml
所以layout
和layout-normal
文件夹是相同的,但在新的Android API中,不再有layout-normal文件夹,只有布局文件夹。此外,您必须知道应用程序运行时是否没有屏幕大小的特定布局,默认情况下,应用程序采用“默认”布局。
修改强>
您可以在同一文件夹中使用不同的屏幕分辨率,您可以从此图像中学习:
如果您需要针对特定分辨率的更具体的布局,则必须在运行时检测确切的屏幕尺寸。
答案 1 :(得分:0)
从Supporting Multiple Screens开始,您应该像这样定义布局文件夹
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra-large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation
(基于屏幕类型)
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp