目录:
1.Theme配置
2.布局
3.代码
内容:
1.Theme配置
1.使用toolbar需更改application Theme
<style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
2.让自己的application主题继承此主题
android:theme="@style/AppTheme.Base"
2.布局
<android.support.v7.widget.Toolbar
android:background="@android:color/holo_red_dark"//背景颜色
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="60dp"/>
3.代码
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
//需在setSupportActionBar之前使用
toolbar.setTitle("haha");
toolbar.setLogo(R.drawable.p1);//设置logo
toolbar.setNavigationIcon(R.mipmap.ic_launcher);//设置左边可点击图标
setSupportActionBar(toolbar);
//菜单点击事件
做完以上步骤,就可以看到下面图片展示的效果了(ps:菜单还看不到) ;
接下来是“给导航按钮设置点击事件:
//给左侧导航键设置监听
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Toast.makeText(MainActivity.this, "gaga", Toast.LENGTH_SHORT)
.show();
return true;
}
其他:配置toolbar右边菜单
首先,我们在res/创建 menu 文件夹, 布局menu菜单内容(res/menu/menu_toolbar.xml)
<?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:title="action_edit"
android:orderInCategory="80"
android:icon="@drawable/p3"
app:showAsAction="ifRoom" />
<item android:id="@+id/action_share"
android:title="action_edit"
android:orderInCategory="90"
android:icon="@drawable/p2"
app:showAsAction="ifRoom" />
<item android:id="@+id/action_settings"
android:title="settings"
android:orderInCategory="100"
app:showAsAction="never"/>
</menu>
然后,将菜单布局填充成menuview
//配置菜单内容 res/menu / menu_toolbar
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_toobar,menu);
return true;
}
最后,给菜单按钮设置点击监听:
//菜单点击事件
toolbar.setOnMenuItemClickListener(mOnMenuItemClickListener);
Toolbar.OnMenuItemClickListener mOnMenuItemClickListener = new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(MainActivity.this, "haha", Toast.LENGTH_SHORT)
.show();
return true;
}
};
菜单 布局中 showAsAction属性 解析:
*前缀为app ,而不是android
以上,O(∩_∩)O谢谢