Android:支持多个屏幕

时间:2012-04-30 08:53:04

标签: android

我正在尝试在Android中创建应用程序。我想它应该可以在不同屏幕尺寸的多个手机上运行,​​所以我研究support multiple screen on developers并根据我必须创建3个不同的xml文件,以支持三种不同的屏幕尺寸和3种不同类型的图像对于每种类型的xml文件。但是在博客上我通过使用当前的屏幕尺寸方法得到了这个想法。所以我很困惑我应该做什么。优化和提高性能的方法。哪一个更适合支持所有类型的屏幕(超大屏幕除外)

4 个答案:

答案 0 :(得分:5)

在XML文件中定义高度,宽度和其他参数是更好的选择,而不是在运行时。 因为XML文件作为活动的元数据(数据载体)工作,并且在调用onCreate mothode时避免了很多混淆。 另外,为图像质量创建不同的文件夹(hdpi,xhdpi,ndpi,ldpi)

7英寸设备使用mhpi 10英寸设备使用hdpi和xhdpi 虽然NEXUS选项卡使用hdpi和xhdpi而不管其大小。 手机使用ldpi和ndpi。

这里的美丽就是android设备在找到时自动选择合适的内容,即布局和图像。 如果没有找到,它将首先搜索其他布局文件夹,例如在x-large文件夹中找不到的布局,然后它将搜索大,然后中,小,哪一个最适合,(如果在其中找不到布局)各个文件夹)。

Nexus会给你带来很多麻烦。 要检查您的布局在不同设备上的外观,请尝试使用这些选项,该选项告诉您在具有这些高度宽度的设备上的外观,如图形(视图中的)布局中所示。

答案 1 :(得分:1)

您可以针对不同的屏幕尺寸使用三种不同的布局,并且android将选择合适的布局,但是对于每种类型的屏幕格式使用三种不同的布局将不是一个好主意,因为它将导致处理所有布局的问题,如果屏幕小于它的罚款,但如果屏幕数量增加,它将变得困难。就像你忘记在其中一个屏幕尺寸中添加更改一样,它会在任何异常情况下崩溃。 您可以做的是将不同大小的图像保存在不同的文件夹中,并通过使用布局权重和dp中的边距来练习布局以在一个布局中制作标准。

请参阅我的回答

Table Layout spacing issues 并检查此布局对于所有屏幕尺寸都是类似的。

答案 2 :(得分:0)

如果您的设计对于所有屏幕尺寸都相同,则可以使用dp,并且所有屏幕只有一个xml。 但是你应该支持所有屏幕的图标。

答案 3 :(得分:0)

我认为David Ohanyan的方式不那么令人困惑,但忘了说些什么...... 无论何时,只要在xx_layout,图像等中使用样式,就可以在文件夹中包含1个layout.xml和3个样式文件:values,values-small,layout-large。

至少对我来说,打开30个不同的布局文件并不会让人感到困惑。