我正在创建一个新的应用程序,并且必须处理ActionBar。我知道我必须扩展AppCompatActivity,因为不推荐使用ActionBarActivity,但是我仍然不明白为什么我必须使用support.v7.widget工具栏而不是android.widget工具栏,即使我使用的是最新的API? / p>
谢谢
EDIT1:
我现在明白了support.v7.widgets是为了让具有旧API的设备能够理解新版本中添加的新功能,并以自己的方式模仿它们。这是对的吗?
如果这是正确的,我不想有任何向后兼容性这是否意味着我可以继续前进并使用android.widget工具栏?
另外使用android.widget片段遗憾的是我无法将其添加到ViewPager中。这是为什么 ?为什么它强迫我使用已经扩展的旧版本来模仿组件新实现的行为?
我想我只是迷失在所有这些“支持”库中。有人可以简要地(或不是)解释所有这些 - 为什么支持库中的某些内容未在新版本的API中包含或更新?
谢谢
答案 0 :(得分:3)
首先,您要问好问题,Android会在不同的API级别中不断添加高级功能,但这些功能可以从添加的API级别中获得
例如:考虑在API级别11中添加了android片段功能,这意味着它将适用于API级别11及更高级别,但您的应用程序需要API级别10设备,那时它也不会工作。出于这个原因,android开发了支持库,涵盖了广泛的Android设备(支持低级API)以实现这些功能。
Android始终建议开发人员使用支持库进行开发,以获取更多信息,请查看here
答案 1 :(得分:2)
还有更多新的内置属性,如observableScrollActivity和更多材料设计...,
为什么我们没有使用默认操作栏?
因为ActionBarActivity已被删除。将旧操作栏与我们最新的sdk操作栏进行比较,可以看出它。
。setSupportActionBar(toolbar);
设置对工具栏的支持后,为工具栏提供操作栏属性,就像我们可以通过getSupportActionBar().hide();
隐藏它一样