toolBar与acitionBar的区别,在于toolbar把其实把原来独立的标题栏,放到了布局当中,可控制性大大加强了.
actiiobar的使用:
http://blog.csdn.net/cctcc/article/details/50638417
toolbar的使用
1.修改主题:隐藏actionbar
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.NoActionBar">
2布局文件中添加toolbar控件
<android.support.v7.widget.Toolbar
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:layout_width="match_parent"
android:layout_height="wrap_content"></android.support.v7.widget.Toolbar>
3.写toolbar的布局文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- "Mark Favorite", should appear as action button if possible -->
<item
android:id="@+id/action_favorite"
android:icon="@drawable/ic_favorite_black_48dp"
android:title="喜欢"
app:showAsAction="ifRoom"/>
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="设置"
app:showAsAction="never"/>
</menu>
4在代码中加载布局.设置toolbar
Toolbar toolbar= (Toolbar) findViewById(R.id.my_toolbar);
//兼容actionbar
setSupportActionBar(toolbar);
5从menu中找到控件,重写createOptionMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu,menu);
return true;
}
6.重写onOptionSeleceted方法,拿到每一个按钮设置点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_favorite:
break;
case R.id.action_settings:
break;
}
return true;
}