toolbar與ActionBar的區(qū)別:
- ToolBar就是一個(gè)View,跟其它View一樣包含在布局中。
- 像常規(guī)View一樣,Toolbar很容易來(lái)放置、實(shí)現(xiàn)動(dòng)畫以及控制。
- 一個(gè)Activity中可以有多個(gè)Toolbar。
與 Actionbar 相比, Toolbar 明顯要靈活的多。它不像 Actionbar 一樣,一定要固定在Activity的頂部,而是可以放到界面的任意位置。除此之外,在設(shè)計(jì) Toolbar 的時(shí)候,Google也留給了開發(fā)者很多可定制修改的余地,這些可定制修改的屬性在API文檔中都有詳細(xì)介紹,如:
- 設(shè)置導(dǎo)航欄圖標(biāo);
- 設(shè)置App的logo;
- 支持設(shè)置標(biāo)題和子標(biāo)題;
- 支持添加一個(gè)或多個(gè)的自定義控件;
- 支持Action Menu;
ToolBar是在Android5.0中提出來(lái)的,ActionBar在Android3.0提出來(lái)的。ActionBar是系統(tǒng)為我們創(chuàng)建一個(gè)View并顯示在應(yīng)用的頂端,直接繼承自O(shè)bject,因此我們?nèi)绻獙?duì)這塊內(nèi)容的視圖進(jìn)行定制就需要嚴(yán)格按照ActionBar的方式進(jìn)行工作。ToolBar是一個(gè)繼承自ViewGroup的控件,因此我們可以用ViewGroup的方式去創(chuàng)建任何我們想要的視圖內(nèi)容,也可在布局文件中寫入我們想要的內(nèi)容,因此ToolBar比ActionBar更加靈活。同時(shí)ToolBar相對(duì)于ViewGroup的好處在于,提供了更多便捷的方法來(lái)控制顯示方式,這些方式主要是針對(duì)標(biāo)題欄的特性而定制的,比如我們可以通過(guò)setTitle方法為其設(shè)置標(biāo)題。下圖是網(wǎng)上找的Toolbar提供的便捷方法所對(duì)應(yīng)的修改的內(nèi)容:
上圖對(duì)應(yīng)方法有:toolbar.setTitle("AndroidViewDemo"); 、toolbar.inflateMenu(R.menu.ac_toolbar_menu); 、toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {...}等。
