好吧,我想了解如果我将Toolbar
用作自我管理的ActionBar
而不使用setSupportActionBar,我会失去什么。
AFAIK,ActionBar
所做的全部内容,为徽标,导航和菜单项提供占位符,并让Fragments
添加/自定义菜单项。
使用Toolbar.setLogo()
,Toolbar.setNavigationIcon()
,Toolbar.setNavigationOnClickListener()
和Toolbar.inflateMenu()
apis可以实现相同的功能。当然,将菜单处理逻辑指向Fragments
可能会丢失,但我认为如果Activity
知道哪个Fragment
位于顶部并相应地更改菜单项,那就不是那么重要了
我正在努力确保:
ActionBar
和Toolbar
(而不使用MenuItems
)就可以实现每项setSupportActionBar()
功能。ActionBar
apis知识是否可以。一些ActionBar
api非常令人困惑。使用setHomeAsUp
api显示汉堡图标,后退图标等,感觉不对。如果有人今天开始学习机器人,他们甚至需要了解框架ActionBar
apis? 更新:在CoordinatorLayout and the app bar
部分的文章Android Design Support Library中,我了解到新的范例应用栏是操作栏的替代品范例。我认为行动栏很快就会被弃用,我们应该习惯新的 app bar 范例,它涵盖了新的材料设计用户体验。
答案 0 :(得分:2)
是的,您可以在ActionBar
中使用Toolbar
的类似功能。
主要区别在于Toolbar
成为View
的一部分所以我们可以更有乐趣与他们一起获得Scrolling Techniques
您可以Toolbar
分别使用View
&执行ActionBar
类似的功能。例如,在我的某个应用中,我使用2 Toolbar
一个设置为setSupportActionBar()
,而其他只用于其他一些功能。
结论:如果您想将Toolbar
用作自己或框架,那么这取决于您的要求。尽管如此,你可以将它们用作两者。
我希望这能很好地回答你的问题。
答案 1 :(得分:0)
对我来说你是对的。
来自#element{
background-clip: content-box;
background-origin: content-box;
}
源代码,方法AppCompatDelegate
,
当设置为非null值时,将返回getSupportActionBar()方法 一个ActionBar对象,可用于控制给定的工具栏,就像它一样 传统的窗户装饰动作吧。工具栏的菜单将填充 活动的选项菜单和导航按钮将通过标准连接 android.R.id.home菜单选择动作。
因此,如果不是全部,这些都是您将获得的好处。正如您所说,通过setSupportActionBar()
API实现导航和菜单膨胀很容易。但是,我不会通过不致电Toolbar
来了解您获得的内容。
答案 2 :(得分:0)
是 是 是
使用setSupportToolBar()
与Actionbar
相同,ToolBar
ToolBar
的唯一原因是多功能性,Fragment
与View
相同} s,一切都取决于你如何实现内容,而且Actionbar
对Toolbar