1

我在这里阅读了有关“支持多个屏幕”和其他帖子的信息......但我真的很困惑如何开发在多个设备上运行的应用程序。我开始在一个确定的屏幕(正常尺寸布局)上开发,然后我在 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 // 中等密度的位图

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

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

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

4

2 回答 2

1

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

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

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

于 2013-08-13T18:28:11.800 回答
0

你读过这个页面吗?还是这个

您在以某种方式限定的文件夹中创建具有重复名称的资源。在运行时,系统会选择与设备当前配置最匹配的资源。如果您希望您的设备在多种屏幕尺寸和多种屏幕密度上工作,您将需要创建不同的资源(布局、可绘制对象等)并适当地限定它们。

于 2013-08-13T17:38:24.050 回答