【问题标题】:Make an android app works for multiple screens [duplicate]使一个android应用程序适用于多个屏幕[重复]
【发布时间】:2012-07-03 07:12:29
【问题描述】:

如果我使用 android 2.3.3 制作一个 android 应用程序,并在完成后让它适用于其他设备,这是个好主意吗?因为我还没有为多种屏幕尺寸开发应用程序。会不会更费时间?我必须采取哪些预防措施?

【问题讨论】:

  • Google 通知 Android 开发者"think like a web designer"。这是创建适合任何屏幕尺寸的灵活布局的关键。从长远来看,目前最优雅且无需太多努力的方式是使用片段,因为您可以将它们视为大约手机屏幕大小的 GUI 组件。然后,您可以将其中的两个并排放置以用于平板电脑大小的屏幕。只是为了给你一个想法。
  • 是的,但片段是为平板电脑写的?我必须让它在所有设备上运行:/
  • 不,片段适用于自 API 级别 11 起的任何 Android 设备,您可以使用 support library 在旧版本上使用它们,可以通过右键单击将其安装到现有的 Eclipse Android 项目中 -> Android 工具 -> 添加支持库...

标签: android


【解决方案1】:

我认为你应该做更多的研究,但这里有一个链接可以帮助你开始。

http://developer.android.com/training/basics/supporting-devices/screens.html

【讨论】:

    【解决方案2】:

    首先确定您愿意支持的最低 SDK 版本(例如minSdkVersion="8")。

    其次,针对 Android 4.1 构建您的应用程序并设置您的 targetSdkVersion="16"。这样做可以让您在较新的设备上使用一些更漂亮的 UI 功能(即 Holo 主题)。

    第三,在运行 SDK 8 到 16 的设备上使用模拟器广泛测试您的应用程序。如果您从较新的 API 进行任何方法调用,请确保阻止旧设备调用这些方法(因为它们将无法被识别并且会在运行时使您的应用程序崩溃)。此时,您可以针对不同的屏幕尺寸(即手机和平板电脑)优化您的应用程序。

    【讨论】:

    【解决方案3】:

    开始此类研究的最佳地点是 Google 的 Android 开发网站,该网站有大量有用的指南和资源。这里有两个链接可以帮助您解决问题:

    http://developer.android.com/guide/practices/screens_support.html

    http://developer.android.com/training/multiscreen/screensizes.html

    另一个讨论布局。开发指南有一堆小教程教你如何使用以及许多视图之间的区别。

    http://developer.android.com/guide/topics/ui/declaring-layout.html

    总体而言,您在开始编码时绝对应该考虑到多种屏幕尺寸,尽管这与良好的 android 编码习惯相伴而生。一般来说,熟悉以android:layout_ 开头的xml 属性,例如android:layout_widthandroid:layout_weight,以及需要管理图像资源文件夹的方式。以我的经验,一旦你熟悉了 Android 上的布局如何工作,确保它们在多个屏幕上工作就很容易了。在深入了解之前对它有一个基本的了解将为您节省很多头痛和以后的重新编码。不要害怕制作简单的应用程序来测试您正在学习的不同布局技术。祝你好运。

    【讨论】:

    • 这些东西很有帮助,但你能看看这个链接,告诉我真的必须制作这么多 XML 文件,如果是这样,在编写它们时会有什么不同?
    • xml 文件是在 android 中定义布局的标准方式。通常每个屏幕至少有一个,其他的则定义您需要的任何可重复使用的小部件。它们使事物易于设计和更改。虽然您可以通过动态定义所有视图来创建应用程序,但请相信我,这会使这变得非常混乱,并导致许多难以调试的令人头疼的错误和缺陷。
    • link我问过这个链接,请告诉我这是否有帮助
    • 不,您可以使一种布局适用于所有屏幕尺寸。但是,您可能会发现您的特殊布局文件让您的应用在处理更高密度或平板电脑大小的屏幕时看起来更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多