支持库v7小部件和Android小部件Toolbar、Fragment的区别

8
我正在创建一个新应用程序,并且需要处理ActionBar。我知道我必须扩展AppCompatActivity,因为ActionBarActivity已被弃用,但是即使我使用最新的API,为什么我必须使用support.v7.widget工具栏而不是android.widget工具栏仍然不清楚?
谢谢
编辑1:
我现在明白了support.v7.widgets存在的原因是为了让旧API设备理解新版本中添加的新功能,并以自己的方式模拟它们。这正确吗?
如果是这样,而我不想有任何形式的向后兼容性,这是否意味着我可以继续使用android.widget Toolbar?
此外,使用android.widget Fragment,不幸的是我不能将其添加到ViewPager中。为什么?为什么它强制我使用已扩展以模仿组件新实现行为的旧版本?
我想我只是在所有这些“支持”库中迷失了方向。有人能简要(或不)解释一下所有这些内容吗?为什么支持库中包含的东西没有包含或更新到新版本的API中?
谢谢
2个回答

3

首先,你提出了一个好问题,Android将在不同的API级别中持续添加高级功能,但这些功能是从哪个API级别开始可用的。

例如:考虑Android片段功能是在API级别11中添加的,这意味着它将适用于API级别11及以上的设备,但是如果您的应用程序需要适用于API级别10的设备,那么它将无法工作。因此,Android开发支持库以覆盖广泛的Android设备(支持低级API)来使这些功能工作。

Android始终建议开发人员使用支持库进行开发,有关更多信息,请查看此处


2
  • Support.V7.widgets和widgets.android是两个不同的库。
  • support.v7.widgets使用design library。
  • 工具栏实际上不是一个操作栏,我们正在使用支持库手动实现ActionBar。
  • 还包括许多新的内置属性,例如observableScrollActivity和更多的材料设计...

  • 为什么我们不使用默认的操作栏?

    因为ActionBarActivity已经过时了。将旧的操作栏与我们最新的sdk操作栏进行比较,它看起来更好。

    .setSupportActionBar(toolbar);

在将支持设置为工具栏后,工具栏具有操作栏属性,例如我们可以通过getSupportActionBar().hide();隐藏它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接