【问题标题】:Is it possible to use Android 4 features on older versions?是否可以在旧版本上使用 Android 4 功能?
【发布时间】:2012-01-07 15:30:47
【问题描述】:

由于 Android 4 有一些不错的新 API,而且由于 Android 是开源的,所以我认为, 为什么不暂时将新 API 当作应用程序的一部分来使用,而在适当的时候(大多数用户使用新版本时),改用官方 API?

例如,我认为GridLayout,也许还有其他新东西,可以导入到项目中。

我的问题是:有没有人做过这样的事情?如果是这样,它的表现如何? 另外,如果有人做过,请发布一个项目,让每个人都可以享受它。

我也想知道为什么 Google 不提供这样的机制来为旧版本提供更多功能并摆脱已弃用的东西。


google 确实支持较新版本的功能。 对于 gridlayout ,可以在这个例子中使用类似的东西: http://code.google.com/p/android-playground/source/checkout

对于操作栏和片段,有支持库和基于它的actionbarsherlock(不是谷歌创建的,但非常好,甚至更好)。

【问题讨论】:

  • 确实有几个库试图将仅在较新版本上可用的功能向后移植到较旧的 Android 手机。我不确定GridLayout(因为我从未使用过它们),但如果其他人已经写过它,我不会感到惊讶。这个问题有点太宽泛了,因为最终它取决于你到底在寻找什么。因为人们移植一些东西而不是其他东西,当然......没有通用的反向移植开关。
  • 关于 gridLayout ,他们在 "...\support\v7\gridlayout" 文件夹中添加了 API7+ 的 jar 库。但是,它们没有包含任何样本,所以我自己尝试使用它。它从来没有奏效。有其他人成功使用它吗?

标签: android api version android-4.0-ice-cream-sandwich grid-layout


【解决方案1】:

有一些新功能向后移植到旧设备可用。最突出的可能是 Honeycomb 的碎片。还有这个“幻灯片更改选项卡”(ViwewPager)功能,例如Google+ 应用可在此类兼容性库中使用。

参见例如v13 libhere

【讨论】:

  • 您可能是指 v4 ,因为 v13 仅适用于 API 13 及更高版本......无论如何,旧版本中不存在的 ICS 上的其他功能呢?这就是我感兴趣的地方。
  • 目前 android 有支持库,包括 gridLayout 。所以我想这是最好的答案。
【解决方案2】:

我也想知道为什么 google 不提供这样的机制来赋予旧版本更多的权力

They do

此外,尽管技术上可以从一个较新的 API 中提取一个组件,然后在旧版本之一的应用程序级别上实现它。我想你会发现它比看起来更难。使用他们提供的兼容性库可能是您最好的选择。

当大多数用户使用新版本时

在过去两周内与市场接触的绝大多数设备都在版本 7 - 10

see here for a breakdown of what versions are in use.

【讨论】:

  • 你确定GridLayout可以在任何android版本的设备上使用(当然是在导入这个库之后)?
  • 我不是,我没用过。我只知道这就是他们作为 backborts 提供的全部内容,您必须自己手动复制到您的项目中。
  • 好的,我已经测试过了,它不起作用。它给出了一个异常:android.view.InflateException: Binary XML file line #2: Error inflating class GridLayout
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 2016-12-26
  • 2023-02-24
  • 1970-01-01
  • 1970-01-01
  • 2017-12-06
相关资源
最近更新 更多