24

我已经创建了一个带有选项卡的滑动视图,如之前在 android 文档中描述的那样。事实上,单步执行 Eclipse 项目向导几乎可以为您设置使用 ViewPager 的基本 ui。

我的问题是这样的:

我正在构建的应用程序仅支持 Android 4.0(API 级别 14)。所以,我正在考虑完全放弃支持包。但是,我似乎找不到不使用 ViewPager 的带有选项卡的滑动视图的示例(仅在支持包中可用)。

是否有相当于 ViewPager 的 api 级别 14&> 并且有人可以给我一个工作示例,说明如何在不使用支持库的情况下实现带有选项卡界面的滑动视图。

否则,有人可以就我什至不应该打扰的原因给出一个很好的论据,使用支持包并快乐。

编辑: 我正在寻找的是有关支持库特定功能(例如 ViewPager)的权威答案。这些功能最终会合并到核心 API 中吗?或者我们是否会继续为这些类型的功能提供支持包?请具体说明 API 版本和时间表。

Edit-1/15:我正在更新这个问题以停止我得到的“我也是”的答案。在最初发布此问题时,Android 开发人员文档对支持库的用途更加模糊,因为它们与核心 SDK 中未包含的功能相关。他们已经更新了他们的文档以澄清事情:

Android 支持库包是一组代码库,提供向后兼容的 Android 框架 API 版本以及仅通过库 API 可用的功能。

这无疑使事情变得更清楚,并通知开发人员不要期望像 ViewPager 这样的东西会被纳入核心 SDK 功能。我已经接受了与我遇到的问题最相关的答案。这就是如何将支持包功能添加到现有项目而无需显着更改代码库。

4

6 回答 6

12

我知道这是一个非常古老的问题,但我认为它仍然相关。我正在寻找一种解决方法:使用 viewpager 而不必将我所有的整个项目都转换为 v4 支持库。

答案是v13 支持库!. 通过这种方式,您可以在活动上拥有一个 viewpager,然后使用它android.support.v13.app.FragmentStatePagerAdapter来保持与片段和其他有用内容的兼容性。

希望它可以帮助一些谷歌上瘾的搜索者。

于 2014-11-14T22:49:16.577 回答
1

正如@Luksprog 所提到的,您可以在自己的项目中复制 ViewPager 代码,并用原生代码替换支持库引用。您很可能需要对 FragmentPagerAdapter、FragmentStatePagerAdapter 和 PagerAdapter 执行相同的操作。我从grepcode.com获取代码。

即使我是 android 的初学者,我也花了 2 个小时才完成这个技巧。但这意味着要维护更多的代码行,最后我切换回支持库。

于 2014-08-28T21:32:34.230 回答
0

Now I'm no Android SDK guru, but I would just use the Support Library. Here's an excerpt from the RenderScript documentation,

"We strongly recommend using the Support Library APIs for accessing RenderScript because they include the latest improvements to the RenderScript compute framework and provide a wider range of device compatibility."

Now this is for the v8 Support Library, but I'm guessing that this recommendation can be extrapolated. It makes sense that the latest improvements will be in Android's support libraries because they can be updated independently from platform updates.

Just be sure to enable ProGuard before releasing so you can trim the excess fat of the unused parts of the API.

于 2014-01-21T06:08:17.457 回答
0

你也可以使用ViewFLipper类,但你必须手动实现动画和手势检测器,你可以在这里找到一些代码

于 2015-01-08T08:55:19.983 回答
-1

通常鼓励使用支持库,因为它包含每个 API 的最新代码。B.Young 在 RenderScript 上指出的内容适用于所有其他 API。

-------- 无需继续阅读。

让我们举个例子。假设当 Android 8 发布时,他们引入了一个新类来保存引用到称为 FastMap 的键的值。为了增加对旧版本的支持,Google 发布了一个包含这个新类的支持库,两个月后,在性能测试期间,他们找到了一种提高效率的方法,因此他们发布了使用优化版 FastMap 的支持库的更新(因为 Android 操作系统被冻结在手机中)。

此外,由于大量发布总是有点匆忙,谷歌意识到他们引入了一个非常具体的错误(是的,它发生了),它会在更新的更新中得到修复。

因此,如果要为 Android 8 及更高版本构建 Android 应用程序并使用内置 API,您将错过支持代码中的所有这些改进。

于 2015-01-12T14:04:06.323 回答
-1

您应该使用支持库包,因为它提供了向后兼容的 Android 框架 API 版本。根据我的经验,使用他们推荐的方法是处理 android 的最佳方法。

或阅读此

http://www.velir.com/blog/index.php/2010/11/17/android-snapping-horizo​​ntal-scroll/

于 2015-01-10T02:26:52.700 回答