使用ViewPager的Android.app Fragments与android.support.v4.app?

时间:2013-07-09 16:21:51

标签: android android-fragments android-viewpager android-support-library

我对Android支持库,片段以及ViewPager类的具体示例有疑问。我的目的是创建一个与Android开发人员网站(http://developer.android.com/training/animation/screen-slide.htmlhttp://developer.android.com/training/implementing-navigation/lateral.html)上提供的示例功能类似的应用。查看他们的代码,我注意到他们使用android.support.v4.app库,我的研究是访问ViewPager类的唯一方法。

在我的情况下,我对向后兼容性没兴趣。最低API级别为14(Ice Cream Sandwich),构建目标为4.2 Jelly Bean。在它最简单的形式中,我的应用程序与我在Android开发网站上链接的第二个演示完全一样 - 只需在三个标签之间滑动,每个标签都有内容。

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

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

  2. 如果来自android.app的碎片是可行的方法,那么接近ViewPagers的最佳方式是什么?

  3. 如果SupportFragments最适合这项任务,我估计它们具有与另一项相同的功能 - 那么在android.app内完全拥有它们的目的是什么?

    < / LI>

    希望有更清楚理解的人可以给我一些澄清,因为我很难过......

3 个答案:

答案 0 :(得分:183)

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

适用于ViewPager的适配器有两个版本,v4包中的适配器用于支持片段,v13中带有本机片段的片段。

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

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

答案 1 :(得分:3)

自Android P(link)以来,

android.app.Fragment类已被弃用,因此在任何地方都只应使用android.support.v4.app.Fragment

答案 2 :(得分:1)

如果您要定位API 11+,则不需要支持库[并且您的实际apk将更小,至少)。

如果您想在Android 3.x之前支持任何内容,则需要支持库。

这就是你问的问题吗?