总是使用v4 Fragments而不是内置的android.app.Fragment?

Tom*_*yTh 13 android android-fragments

我遇到了ViewPager和相关的FragmentPagerAdaptor,它们不是常规Android软件包的一部分,但仅在V4支持包中提供.似乎我不能将FragmentPagerAdaptor与android.app.Fragment一起使用,因为FragmentPagerAdaptor需要v4 FragmentManager来实例化.读取Activity和FragmentActivity之间的区别似乎是对齐的 - 使用v4 Fragments和相关类或常规android.app.Fragments.永远不要混

更进一步,我认为根本不需要使用常规的android.app.Fragments,因为它们不如v4支持包强大.(引用另一个问题:Android支持包不仅适用于较新API的后端端口.它还适用于其他类,无论出于何种原因,它们都未添加到SDK中,例如ViewPager及其支持类.).我能想到的"唯一"缺点是v4支持库与APK捆绑在一起,这意味着我的应用程序将占用更多空间.

我是否正确得出结论,我应该始终使用v4支持库来获取片段,因为那些包含更多功能?(它们向后兼容,不要忘记.)

Tom*_*yTh 9

我刚刚意识到可以使用android.app.Fragmentandroid.support.v4.view.ViewPager一起...如果你使用android.support.v13.app.FragmentPagerAdapter...所以似乎v13支持包解决/改善android.app.Fragment和之间的兼容性问题android.support.v4.view.ViewPager.真是一团糟.

虽然这解决了我提出的特定示例,但我仍然想知道最好的选择是在它们可用时总是使用v4类而不是内置类(例如android.app.Fragment),即使我只是担心关于ICS和更新的设备?

  • 我曾多次听过Google Engineers(@ IO + DevBytes)说我们应该使用compat库,即使我们有14(Android 4.0)或更高版本的minSdk.为什么?因为他们可以比Android操作系统在设备上更新更频繁地更新支持库.(在@Intrications之后编辑的评论指出了错误的版本号 - thx) (2认同)