好吧,我想了解如果我将 Toolbar
用作 self 管理的 ActionBar
而不使用 setSupportActionBar 会失去什么.
据我所知,ActionBar
所做的就是为 Logo 、导航和菜单项提供占位符,并让 Fragments
添加/自定义菜单项。
可以使用 Toolbar.setLogo()
、Toolbar.setNavigationIcon()
、Toolbar.setNavigationOnClickListener()
和 Toolbar.inflateMenu()
API。当然,将菜单处理逻辑指向 Fragments
可能会丢失,但我认为如果 Activity
知道哪个 Fragment
就没什么大不了的位于顶部并相应地更改菜单项。
我正在努力确保:
- 如果我仅通过使用
Toolbar
和MenuItems
(而不是使用setSupportActionBar()
)就可以实现每个ActionBar
功能>). - 不完全了解
ActionBar
api 是否可以。一些ActionBar
api 非常困惑。使用setHomeAsUp
api 显示汉堡图标、后退图标等,感觉不对。如果今天有人开始学习 android,他们甚至需要了解框架的ActionBar
api 吗?
更新:在文章中Android Design Support Library在 CoordinatorLayout 和 app bar
部分,我了解到新范式 app bar 是 action bar 范式的替代品。我认为 action bar 很快就会被弃用,我们应该习惯新的 app bar 范例,它涵盖了新的 Material 设计用户体验。
最佳答案
是的,您可以在 Toolbar
中使用 ActionBar
实现类似的功能。
主要区别在于 Toolbar
成为 View
的一部分,因此我们可以更有趣地使用它们来获得 Scrolling Techniques
您可以单独使用 Toolbar
作为 View
和执行 ActionBar
类似的功能。例如,在我的一个应用程序中,我使用了 2 个 Toolbar
,其中一个设置为 setSupportActionBar()
,而另一个仅用于其他一些功能。
结论: 如果您想将 Toolbar
用作自身或框架,则取决于您的要求。尽管如此,您还是可以同时使用它。
我希望这能很好地回答您的问题。
关于android - 作为 self 管理的 ActionBar 的工具栏与作为框架管理的 ActionBar 的工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30606949/