support.v7.widgets和android.widgets Toolbar,Fragment之间的区别

时间:2015-12-12 11:11:09

标签: android android-support-library android-toolbar

我正在创建一个新的应用程序,并且必须处理ActionBar。我知道我必须扩展AppCompatActivity,因为不推荐使用ActionBarActivity,但是我仍然不明白为什么我必须使用support.v7.widget工具栏而不是android.widget工具栏,即使我使用的是最新的API? / p>

谢谢

EDIT1:

我现在明白了support.v7.widgets是为了让具有旧API的设备能够理解新版本中添加的新功能,并以自己的方式模仿它们。这是对的吗?

如果这是正确的,我不想有任何向后兼容性这是否意味着我可以继续前进并使用android.widget工具栏?

另外使用android.widget片段遗憾的是我无法将其添加到ViewPager中。这是为什么 ?为什么它强迫我使用已经扩展的旧版本来模仿组件新实现的行为?

我想我只是迷失在所有这些“支持”库中。有人可以简要地(或不是)解释所有这些 - 为什么支持库中的某些内容未在新版本的API中包含或更新?

谢谢

2 个答案:

答案 0 :(得分:3)

首先,您要问好问题,Android会在不同的API级别中不断添加高级功能,但这些功能可以从添加的API级别中获得

例如:考虑在API级别11中添加了android片段功能,这意味着它将适用于API级别11及更高级别,但您的应用程序需要API级别10设备,那时它也不会工作。出于这个原因,android开发了支持库,涵盖了广泛的Android设备(支持低级API)以实现这些功能。

Android始终建议开发人员使用支持库进行开发,以获取更多信息,请查看here

答案 1 :(得分:2)

  • Support.V7.widgets和widgets.android都是不同的库。
  • support.v7.widgets使用设计库。
  • 工具栏实际上不是我们手动实现的操作栏 带支持库的ActionBar。
  • 还有更多新的内置属性,如observableScrollActivity和更多材料设计...,

  • 为什么我们没有使用默认操作栏?

    因为ActionBarActivity已被删除。将旧操作栏与我们最新的sdk操作栏进行比较,可以看出它。

    setSupportActionBar(toolbar);

设置对工具栏的支持后,为工具栏提供操作栏属性,就像我们可以通过getSupportActionBar().hide();隐藏它一样