182

我有一个关于 Android 支持库、片段以及作为具体示例的ViewPager类的问题。我的目的是创建一个与 Android 开发者网站( http://developer.android.com/training/animation/screen-slide.htmlhttp://developer.android.com/)上提供的示例功能相似的应用程序培训/实施-导航/lateral.html)。查看他们的代码,我注意到他们使用了该android.support.v4.app库,根据我的研究,这是访问ViewPager该类的唯一方法。

在我的情况下,我对向后兼容性不感兴趣。最低 API 级别为 14(冰淇淋三明治),构建目标为 4.2 Jelly Bean。在最简单的形式中,我的应用程序的性能与我在 Android 开发网站上链接的第二个演示完全相同 - 只需在三个选项卡之间滑动,每个选项卡都有内容。

我读过的所有文章/帖子/答案似乎都非常支持v4 支持库。现在我的问题虽然啰嗦,但问题:

  1. 构建我的应用程序的最佳方式是什么 - 使用android.support.v4.app,从而使用 SupportFragments,或者使用提供的片段android.app- 为什么?

  2. 如果 Fragments fromandroid.app是要走的路,那么最佳的方法是ViewPagers什么?

  3. 如果 SupportFragments 最适合这项任务,我估计它们具有与另一个相同的功能 - 那么将它们放在里面的目的是什么android.app

希望有更清楚理解的人能给我一些澄清,因为我很困惑......

4

3 回答 3

183

您可以将包中的ViewPager本机片段与android.support.v13.appandroid.app包中的适配器一起使用。您必须为此使用 v13 支持 jar。

有两个版本的适配器可以使用ViewPagerv4包中的那些用于支持片段,那些用于v13原生片段。

现在有两个 Fragment 实现的原因是历史性的:android.app包中的 Fragment 仅在 Android 3 中针对平板电脑引入,并且创建了支持库以将 Fragment 引入运行旧版本的手机。在 Android 4 上,两者都有。

根据我自己的经验,我建议使用支持片段,即使在为 Android 4 开发时也是如此。以下是一些原因:片段还是支持片段?

于 2013-07-09T19:53:43.923 回答
3

android.app.Fragment自 Android P ( link ) 以来,该类已被弃用,因此只能android.support.v4.app.Fragment在任何地方使用。

于 2018-03-28T12:15:32.303 回答
1

如果您打算以 API 11+ 为目标,则不需要支持库 [而且您的实际 apk 至少会更小)。

如果你想支持 Android 3.x 之前的任何东西,你需要支持库。

这是你要问的吗?

于 2013-07-09T16:57:25.710 回答