android多屏兼容性

时间:2013-08-13 17:33:13

标签: android size compatibility device

我在这里阅读了有关“支持多个屏幕”和其他帖子的信息......但我真的很困惑我如何开发在多重设备上运行的应用程序。 我开始在一个确定的屏幕(正常尺寸布局)上开发,然后我在一个S4星系上运行我的apk,所以我看到我的apk的每个对象都与我的xperia到S4的大小不同。 我需要做些什么来使我的apk兼容所有设备? 我读到的信息是,唯一的来源是:

  1. res / layout / my_layout.xml //正常屏幕尺寸的布局 ( “默认”)
  2. res / layout-small / my_layout.xml //布局为小 屏幕尺寸
  3. res / layout-large / my_layout.xml //布局为大 屏幕尺寸
  4. res / layout-xlarge / my_layout.xml //额外的布局 大屏幕尺寸
  5. res / layout-xlarge-land / my_layout.xml //额外的布局 横向大的

    有关:

  6. res / drawable-mdpi / my_icon.png //位图for 中等密度

  7. res / drawable-hdpi / my_icon.png //位图为高 密度

  8. res / drawable-xhdpi / my_icon.png //位图for 超高密度

  9. 这是真的吗?所以我需要为不同的设备制作不同的布局? 伙计们请帮我解决这个问题cz我真的不明白这个交易对多个设备的兼容性。

2 个答案:

答案 0 :(得分:1)

对于布局: 您很可能会为您的应用程序使用一组布局。默认情况下,Android的gui系统是以你应该能够充分利用任何设备的屏幕的方式完成的,例如使用layout_weight并在dp(与密度无关的像素)中指定内容。通过仅提供一种布局,您最有可能将其针对手机或平板电脑大小的屏幕进行优化。如果你为手机创建它,那么平板电脑可能会有很多空的空间,而创建另一组布局可以让你在屏幕上放置额外的信息,而不是手机布局。这取决于您是否愿意为每个用户设备自定义您的应用体验。要创建多个布局,建议使用Android 3.2大小限定符。对于平板电脑,您可以使用res / layout-sw600dp。请参阅“使用新尺寸限定符”下的here

对于drawables: 你很可能不想只有一套drawables。您可以,并且Android系统会缩放所有可绘制的内容以在所有屏幕尺寸上保持相同的物理大小,但由于缩放,图像看起来不会很好。这就是为什么你提供一个看起来很适合屏幕密度的每个“类别”的图像,Android系统将选择该设备的屏幕密度,并且它必须做的任何缩放将是最小的。

一开始有点令人困惑,但你很可能不必担心布局说明符。我会确保阅读supporting multiple screens文章并编写xml布局,以便他们以相对的方式使用屏幕大小。

答案 1 :(得分:0)

您是否阅读过this page?或this one

您可以创建具有重复名称的资源,这些名称位于以特定方式限定的文件夹中。在运行时,系统将选择与设备的当前配置最匹配的资源。如果您希望您的设备能够处理多种屏幕尺寸和多种屏幕密度,则需要创建不同的资源(布局,可绘制内容等)并对其进行适当的限定。