gpt4 book ai didi

android - 在为 Android 4.1 及更高版本开发时使用支持库

转载 作者:行者123 更新时间:2023-12-03 09:54:32 25 4
gpt4 key购买 nike

我的应用当前的 minSdkVersion16targetSdkVersioncompileSdkVersion21

当我第一次启动应用程序时,minSdkVersion10,而我学习的书使用的是 v4 支持库。

我查看了我的应用程序,发现这些是我一直在使用的来自 v4 支持库的导入:

ActionBarDrawerToggle
DialogFragment
DrawerLayout
Fragment
FragmentActivity
FragmentManager
FragmentStatePagerAdapter
ListFragment
NavUtils
ViewPager

自从我提高了 minSdkVersion 之后,我认为我不再需要使用其中大部分的支持版本。不过,我相信我仍然必须使用 ViewPagerDrawerLayout

developer页面说:

Caution: When using classes from the Support Library, be certain you import the class from the appropriate package.

For example, when applying the ActionBar class:

android.support.v7.app.ActionBar when using the Support Library.

android.app.ActionBar when developing only for API level 11 or higher.

所以,我的问题是:

1) 由于我的 API 级别最低为 16,我可以简单地对上述所有内容使用类似于 android.app.Fragment 的导入吗? (ViewPagerDrawerLayout 除外)

2)对于ViewPagerDrawerLayout,使用v4或v7或其他支持库版本有区别吗?

欢迎任何建议。谢谢!

最佳答案

首先,对于 Fragment 及其所有相关工具(FragmentManagerFragmentTransaction 等),最重要的是使用导入 < strong>consistently(即不要混搭)。我认为,这就是文档想要表达的意思。

也就是说……

如果您想使用这些类的本地版本而不是支持类,但要小心:支持库还添加了一些 API 级别 16 中不存在的方法和回调(一个重要的例子是 getChildFragmentManager() 。所以,基本上,它归结为您正在使用的 Fragments 的所有功能是否可用于您将支持的所有 API 级别的原生 Fragments。

此外,使用支持库 Fragments 意味着它们在所有 Android 版本中的行为应该完全相同,而在 native 实现中它们可能会有所不同。

在我们的特殊情况下,我们决定继续使用支持库,但使用 YMMV。

至于第二个问题,我不认为有特定于 v7 的 ViewPager(至少,我认为是这样)。 v7 库是附加组件(appcompat、gridlayout 等)。

关于android - 在为 Android 4.1 及更高版本开发时使用支持库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27595106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com