一.簡單使用
1.佈局文件Xml中的設置:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorAccent"
app:navigationIcon="@drawable/ic_back_white_24dp"
app:title="標題"
app:titleTextColor="@color/white">
</android.support.v7.widget.Toolbar>
2.在style文件中設置出掉之前的樣式
<resources>
<!-- Base application theme. -->
<style name="Base.AppTheme" parent="Theme.AppCompat">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
3.mainActivity中的基本設置:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
// Logo
toolbar.setLogo(R.mipmap.push_4);
// 主標題
toolbar.setTitle("Title");
// 副標題
toolbar.setSubtitle("Sub Title");
//設置toolbar
setSupportActionBar(toolbar);
//左邊的小箭頭(注意需要在setSupportActionBar(toolbar)之後纔有效果)
toolbar.setNavigationIcon(R.mipmap.back);
//菜單點擊事件(注意需要在setSupportActionBar(toolbar)之後纔有效果)
toolbar.setOnMenuItemClickListener(onMenuItemClick);
}
}
二.菜單部分
1.首先給toolbar綁定一個菜單
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// 綁定toobar跟menu
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
2、其中R.menu.menu_main是我們創建的一個菜單文件,代碼如下:
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:id="@+id/action_edit"
android:icon="@mipmap/push_3"
android:orderInCategory="80"
android:title="@string/action_edit"
app:showAsAction="never"/>
<item
android:id="@+id/action_share"
android:icon="@mipmap/push_3"
android:orderInCategory="90"
android:title="@string/action_edit"
app:showAsAction="never"/>
<item
android:id="@+id/action_settings"
android:icon="@mipmap/push_3"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never"/>
</menu>
3、設置菜單的點擊事件,前面我們已經看到了toolbar.setOnMenuItemClickListener(onMenuItemClick);這句代碼,那麼onMenuItemClick的實現如下:
private Toolbar.OnMenuItemClickListener onMenuItemClick = new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
String msg = "";
switch (menuItem.getItemId()) {
case R.id.action_edit:
msg += "Click edit";
break;
case R.id.action_share:
msg += "Click share";
break;
case R.id.action_settings:
msg += "Click setting";
break;
}
if(!msg.equals("")) {
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
return true;
}