我对Android支持库,片段以及ViewPager
类的具体示例有疑问。我的目的是创建一个与Android开发人员网站(http://developer.android.com/training/animation/screen-slide.html或http://developer.android.com/training/implementing-navigation/lateral.html)上提供的示例功能类似的应用。查看他们的代码,我注意到他们使用android.support.v4.app
库,我的研究是访问ViewPager
类的唯一方法。
在我的情况下,我对向后兼容性没兴趣。最低API级别为14(Ice Cream Sandwich),构建目标为4.2 Jelly Bean。在它最简单的形式中,我的应用程序与我在Android开发网站上链接的第二个演示完全一样 - 只需在三个标签之间滑动,每个标签都有内容。
我读过的所有文章/帖子/答案似乎都非常支持 v4支持库。现在,对于我,虽然冗长,问题:
构建我的应用程序的最佳方法是什么 - 使用android.support.v4.app
,从而使用SupportFragments,或使用android.app
中提供的碎片 - 以及为什么?
如果来自android.app
的碎片是可行的方法,那么接近ViewPagers
的最佳方式是什么?
如果SupportFragments最适合这项任务,我估计它们具有与另一项相同的功能 - 那么在android.app
内完全拥有它们的目的是什么?
希望有更清楚理解的人可以给我一些澄清,因为我很难过......
答案 0 :(得分:183)
您可以将ViewPager
与android.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.app.Fragment
类已被弃用,因此在任何地方都只应使用android.support.v4.app.Fragment
。
答案 2 :(得分:1)
如果您要定位API 11+,则不需要支持库[并且您的实际apk将更小,至少)。
如果您想在Android 3.x之前支持任何内容,则需要支持库。
这就是你问的问题吗?