AppCompat 库的缺点

AppCompat Library Disadvantages

我是一名新 Android 开发人员,正在努力寻找 API 级别支持的最佳平衡点。我认为我的优柔寡断源于不了解使用 AppCompat 库相对于更新的 Android 功能(例如 Holo 主题和操作栏)的优缺点。

当然,我知道 Holo 在 API 14 级之前不可用,Action Bar 在 API 11 级之前不可用。如果我想让我的应用程序可供更广泛的人使用 Android 用户群,我需要降低我的 minSdkVersion 并使用 AppCompat 库。

我的问题是,Android OS 是否有任何重要的最新功能不受支持或无法通过 AppCompat 库实现?除此之外,如果您将 minSdkVersion 设置为 API Level 7 并构建支持 AppCompat 的应用程序(例如,您的应用程序主题为 Theme.AppCompat.Light),设备 运行 API 大于 11 或 14 例如使用默认的 Holo 或操作栏功能或仅限于 AppCompat?我想知道支持较旧的 API 是否会对使用更新和功能更强的设备的用户不利。

反正不管结果如何,我可能还是会支持说API 7-8。这对我来说更像是一个好奇的问题。我希望它有意义!

谢谢,克莱普

AppCompat 应在需要时将最新 API 的功能添加到旧 API 中。例如,棒棒糖添加了 CardView class,当使用 AppCompat 时,它可以在旧的 Android API 中使用,但有一些细微差别(一些 Android L 动画例如,可能不适用于 Android 的旧版本)。建议在大多数情况下使用 AppCompat,因为当您这样做时,更多用户将能够 运行 您的应用(取决于您的 MinSdkVersion)。如果您想知道在 AppCompat 中可以访问哪些 classes,可以查看功能 here.

关于 样式:通过 Platform.AppCompat 样式 Theme.Appcompat 从 Holo (11+) 或 Material (21+) 继承并覆盖某些属性,如果这些属性在 运行 设备上是原生的。