support.v7.widgets 和 android.widgets 工具栏、片段之间的区别
Difference between support.v7.widgets and android.widgets Toolbar, Fragment
我正在创建一个新应用程序并且必须处理 ActionBar。我知道我必须扩展 AppCompatActivity,因为 ActionBarActivity 已被弃用,但我仍然不明白为什么我必须使用支持。v7.widget 工具栏而不是 android.widget 工具栏,即使我正在使用最新 API ?
谢谢
编辑 1:
我现在明白了支持。v7.widgets 的存在是为了使具有旧 APIs 的设备能够理解新版本中添加的新功能并以自己的方式模仿它们.对吗?
如果那是正确的并且我不想有任何类型的向后兼容性,这是否意味着我可以继续使用 android.widget 工具栏?
也使用 android.widget 片段不幸的是我无法将它添加到 ViewPager。这是为什么 ?为什么它迫使我使用已扩展的旧版本来模仿组件新实现的行为?
我想我只是迷失在所有这些 "support" 库中。有人可以简要地(或不)解释所有这一切 - 为什么支持库中的某些内容未包含在新版本的 API 中或未更新?
谢谢
首先你问的好问题,Android 将在不同的 API 级别不断添加高级功能,但这些功能从 API 的级别开始可用
例如: 考虑 android 片段功能已添加到 API 级别 11,这意味着它将适用于 API 级别 11 并且以上,但您的应用程序需要 API 级别 10 设备,那时它也不会工作。为此,android 开发涵盖范围广泛的 Android 设备的支持库(支持低级别 API)来实现这些功能。
Android 始终建议开发人员使用支持库进行开发以获取更多信息检查 here
- 支持。V7.widgets 和 widgets.android 都是不同的库。
- 支持。v7.widgets使用设计库。
- toolbar 其实不是actionbar 我们是手动实现的
带有支持库的 ActionBar。
并且包含更多新的内置属性,例如 observableScrollActivity 和更多 material 设计...,
为什么我们不使用默认操作栏?
因为 ActionBarActivity 被取消了。将旧的 actionbar 与我们最新的 sdk actionbar 进行比较,它看起来不错。
.setSupportActionBar(toolbar);
设置对工具栏的支持后,我们可以通过 getSupportActionBar().hide();
为工具栏提供 actionbar 属性
我正在创建一个新应用程序并且必须处理 ActionBar。我知道我必须扩展 AppCompatActivity,因为 ActionBarActivity 已被弃用,但我仍然不明白为什么我必须使用支持。v7.widget 工具栏而不是 android.widget 工具栏,即使我正在使用最新 API ?
谢谢
编辑 1:
我现在明白了支持。v7.widgets 的存在是为了使具有旧 APIs 的设备能够理解新版本中添加的新功能并以自己的方式模仿它们.对吗?
如果那是正确的并且我不想有任何类型的向后兼容性,这是否意味着我可以继续使用 android.widget 工具栏?
也使用 android.widget 片段不幸的是我无法将它添加到 ViewPager。这是为什么 ?为什么它迫使我使用已扩展的旧版本来模仿组件新实现的行为?
我想我只是迷失在所有这些 "support" 库中。有人可以简要地(或不)解释所有这一切 - 为什么支持库中的某些内容未包含在新版本的 API 中或未更新?
谢谢
首先你问的好问题,Android 将在不同的 API 级别不断添加高级功能,但这些功能从 API 的级别开始可用
例如: 考虑 android 片段功能已添加到 API 级别 11,这意味着它将适用于 API 级别 11 并且以上,但您的应用程序需要 API 级别 10 设备,那时它也不会工作。为此,android 开发涵盖范围广泛的 Android 设备的支持库(支持低级别 API)来实现这些功能。
Android 始终建议开发人员使用支持库进行开发以获取更多信息检查 here
- 支持。V7.widgets 和 widgets.android 都是不同的库。
- 支持。v7.widgets使用设计库。
- toolbar 其实不是actionbar 我们是手动实现的 带有支持库的 ActionBar。
并且包含更多新的内置属性,例如 observableScrollActivity 和更多 material 设计...,
为什么我们不使用默认操作栏?
因为 ActionBarActivity 被取消了。将旧的 actionbar 与我们最新的 sdk actionbar 进行比较,它看起来不错。
.
setSupportActionBar(toolbar);
设置对工具栏的支持后,我们可以通过 getSupportActionBar().hide();