之前一直没怎么用ActionBar,现在因为项目的需要特意去网上查了一些资料,发现确实挺好用,但是也有很多小细节要注意的地方!
有一个地方困扰我很久:
做项目的时候ic_launch的左边的那个图标一直没有出现,找了好久都没发现原因!该设置的都设置了!(貌似是因为Toolbar没有这样的效果了)
如果是用ActionBar的话也不能用新的style,要使用旧版本的Theme.Holo之类的才行!
通过设置Navigation Icon 来改变icon。但是ToolBar和ActionBar的方式有一点不同
ActionBar在xml文件的style中更改:
<style name="YourTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="homeAsUpIndicator">@drawable/new_indicator</item>
<item name="android:homeAsUpIndicator">@drawable/new_indicator</item>
</style>
ToolBar就在java代码中直接设置:
Toolbar mToolBar = (Toolbar) findViewById(R.id.chart_center_toolBar);
setSupportActionBar(mToolBar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
mToolBar.setNavigationIcon(R.drawable.abc_ic_menu_share_mtrl_alpha);
这上面几行代码都有其用处,设置Icon必须要在 setSupportActionBar(mToolBar)和actionBar.setDisplayHomeAsUpEnabled(true);之后,
不然没有效果, setSupportActionBar(mToolBar)的作用就是将Toolbar当做ActionBar使用,
actionBar.setDisplayHomeAsUpEnabled(true),调用setDisplayHomeAsUpEnable()是Up图标生效,(要使用actionbar 而且要使用旧版本的Theme)
actionBar.setHomeButtonEnabled(true);使home button 可以点击!