2017-08-10 180 views
1

这是我第一次使用多个屏幕。我想建立我的多屏应用程序,即从sw320dpsw720dp。我创建了以下布局文件夹。支持Android的不同屏幕

res/layout-sw320dp 
res/layout-sw360dp 
res/layout-sw480dp 
res/layout-sw600dp 
res/layout-sw720dp 

我已将这些文件夹中的所有xml文件复制过。还有什么我需要添加,以确保所有的布局支持多个屏幕。我已经通过了android文档,但我不清楚manifest.xml部分。如果有人在他们的应用程序中实现了多屏幕支持,那么请提供相同的描述和实现。

+0

可以声明如下代码也清单文件,并使用硬币文件中值夹<支撑屏 机器人:anyDensity =“真” 机器人:largeScreens =“真” 机器人:可调整大小=“真” 机器人:xlargeScreens =“true”/> –

+2

检查https://stackoverflow.com/a/44962954/5594218 – MinnuKaAnae

+0

创建值文件夹并更改dimen.xml中的视图大小 – MinnuKaAnae

回答

3

第1步 - 您必须为不同的屏幕创建不同值的文件夹。 转到您的项目/ app/src/main/res。 右键单击res并在其中创建不同的值文件夹。

步骤 - 2.创建命名的文件夹 价值观大 值小 价值观sw320dp 价值观sw320dp - 华电国际 价值观sw320dp-xhdpi 价值观sw320dp-xxhdpi 价值观sw480dp 值,sw600dp 值-sw720dp 步骤 - 3.在值文件夹中创建dimensions.xml文件。 不同屏幕尺寸的不同值。

values-ldpi      2.7" 240*320 ldpi 
values-ldpi      3.3" 240*400 ldpi 
values-ldpi      3.4" 240*432 ldpi 

values-mdpi      3.2" 320*480 mdpi 

values-hdpi      4.0" 480*800 hdpi 
values-hdpi      3.7" 480*854 hdpi 

values-xhdpi     4.7" 1280*720 xhdpi 
values-xhdpi     4.65" 720*1280 xhdpi 

values-sw480dp     5.1" 480*800 mdpi 
values-sw480dp     5.4" 480*854 mdpi 

values-sw600dp     7.0" tablet 1024*600 mdpi 

values-sw720dp     10.1" tablet 1280*800 mdpi 

当您将dimension.xml文件与您的布局连接时,将不会直接影响您的屏幕尺寸。 这将帮助您为所有类型的屏幕设置尺寸。

+0

这意味着。我不必为不同的屏幕尺寸创建多个布局,或者除了需要创建多个“布局”文件以外,还需要创建这些“值”文件 – XoXo

+0

您无需为不同的屏幕尺寸创建多个布局,您需要只为屏幕创建尺寸不同的值 –

+0

非常感谢。 – XoXo

0

嘿,你不需要做任何清单。 您已完成布局部分。 接下来,您可以添加支持绘图文件夹,即不同大小的不同密度图像。

如果不同的屏幕需要不同的值(尺寸等),您需要在值中创建多个文件。

+0

我已经完成了这些部分。但问题是一些手机像(三星Grand 2)加载不同的屏幕宽度布局。如何确保覆盖近95%的手机。 – XoXo

1

支持多种屏幕尺寸,并为每种屏幕尺寸创建不同的layout.xml文件。小型手机(我们的用户没有升级的年代久远的设备),“普通”手机(例如,手机,手机,手机等)。在所有我曾参与过的应用程序中,只有三种不同类型的屏幕我们关心:现代三星或LG手机等)和平板电脑。即使考虑这三种屏幕,我们通常不需要为单个屏幕创建多个layout.xml文件。

如果您只有一个layout.xml文件,它将在任何屏幕尺寸上显示自己。要“支持”多种屏幕尺寸,您只需确保短内容在短手机和高手机上,宽屏手机和窄手机上,手机和平板电脑等上的内容看起来不错。这通常归结为使用尺寸如match_parent,或layout_weight以填充可用空间等

只有当你真正需要改变是在屏幕上(相对于元素有多大),你需要创建额外的layout.xml文件什么元素。例如,也许你知道某些文本+图像集不适合较小的手机。然后,您可以创建一个仅包含文本的res/layout/layout.xml,另一个包含文本+图像的res/layout-sw360dp/layout.xml。或者,您可能想要在平板电脑上并排显示一些内容,但只希望在手机上显示一部分内容。然后,您可以使用普通内容制作一个res/layout/layout.xml,使用平板电脑内容制作一个res/layout-sw600dp/layout.xml

无论如何,当你决定做想为不同的屏幕尺寸布局的多个版本,你必须做的唯一事情是建立在不同的文件夹layout-swXXXdp您layout.xml的副本。除非您的应用程序支持真正的旧API级别,否则不要打扰layout-large; swXXXdp方法更精确并解决了相同的问题(但仅在API 13中添加)。

+0

非常感谢。很好的解释。 – XoXo