ActionBar的前世今生
2017-06-27 本文已影响9人
秃秃终结者
toolbar与ActionBar的区别:
- ToolBar就是一个View,跟其它View一样包含在布局中。
- 像常规View一样,Toolbar很容易来放置、实现动画以及控制。
- 一个Activity中可以有多个Toolbar。
与 Actionbar 相比, Toolbar 明显要灵活的多。它不像 Actionbar 一样,一定要固定在Activity的顶部,而是可以放到界面的任意位置。除此之外,在设计 Toolbar 的时候,Google也留给了开发者很多可定制修改的余地,这些可定制修改的属性在API文档中都有详细介绍,如:
- 设置导航栏图标;
- 设置App的logo;
- 支持设置标题和子标题;
- 支持添加一个或多个的自定义控件;
- 支持Action Menu;
ToolBar是在Android5.0中提出来的,ActionBar在Android3.0提出来的。ActionBar是系统为我们创建一个View并显示在应用的顶端,直接继承自Object,因此我们如果要对这块内容的视图进行定制就需要严格按照ActionBar的方式进行工作。ToolBar是一个继承自ViewGroup的控件,因此我们可以用ViewGroup的方式去创建任何我们想要的视图内容,也可在布局文件中写入我们想要的内容,因此ToolBar比ActionBar更加灵活。同时ToolBar相对于ViewGroup的好处在于,提供了更多便捷的方法来控制显示方式,这些方式主要是针对标题栏的特性而定制的,比如我们可以通过setTitle方法为其设置标题。下图是网上找的Toolbar提供的便捷方法所对应的修改的内容:
上图对应方法有:toolbar.setTitle("AndroidViewDemo"); 、toolbar.inflateMenu(R.menu.ac_toolbar_menu); 、toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {...}等。
image.png