一.要写ToolBar 首先要修改style下的主题 如下图
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
二,在res文件下创建menu
.
<?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">
<item
android:id="@+id/item01"
android:icon="@mipmap/ic_launcher"
android:title="SSSS0"
app:showAsAction="always" />
<item
android:id="@+id/item02"
android:icon="@mipmap/ic_launcher"
android:title="SSSS1"
app:showAsAction="always" />
<item
android:id="@+id/item03"
android:icon="@mipmap/ic_launcher"
android:title="SSSS2"
app:showAsAction="always" />
</menu>
三.在layout写
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.Toolbar>
四.在main文件写入
package com.example.myapplication3;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
//使用ToolBar的基本步骤:
//1. 隐藏原本的ActionBar,通过修改我们的基础主题为:@style/Theme.AppCompat.Light.NoActionBar
//(改主题在清单文件里进行修改,你可以改变某个Activity的主题,也可以直接改变应用的主题,应用主题改application节点下内容)
//2. 在布局文件里声明TooBar
//3. 代码中初始化ToolBar
//4. 对ToolBar做个性化设置
//5. 设置ToolBar的菜单点击事件,在Res文件下创建Menu文件
//6. 重写onCreateOptionsMenu方法
public class MainActivity extends AppCompatActivity {
private Toolbar mToolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
mToolbar = (Toolbar) findViewById(R.id.toolbar);
//设置主标题,必须要在setSupportActionBar代码执行顺序的前面
mToolbar.setTitle("主标题哈!");
//必须有的一步操作,参数就是ToolBar对象
setSupportActionBar(mToolbar);
/* //设置导航栏图标
mToolbar.setNavigationIcon(R.mipmap.ic_launcher);*/
//设置APP Logo
mToolbar.setLogo(R.mipmap.ic_launcher);
//设置子标题,会出现在主标题的正下方
mToolbar.setSubtitle("子标题哈!");
//往toolBar填充菜单布局,起效果必须要复写onCreateOptionsMenu
//在res文件下创建menu文件夹,在创建xml布局文件即可.
mToolbar.inflateMenu(R.menu.meun_a);
//设置右上角的菜单点击事件的监听
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
//这是获得menu里面的title进行判断
if (item.getTitle().equals("SSSS0")) {
Toast.makeText(MainActivity.this, "至远教育带你装逼,带你飞0", Toast.LENGTH_SHORT).show();
}
if (item.getTitle().equals("SSSS1")) {
Toast.makeText(MainActivity.this, "至远教育带你装逼,带你飞2", Toast.LENGTH_SHORT).show();
}
if (item.getTitle().equals("SSSS2")) {
Toast.makeText(MainActivity.this, "至远教育带你装逼,带你飞1", Toast.LENGTH_SHORT).show();
}
return true;
}
});
}
//使用getMenuInflater()填充menu布局,第二个参数固定是menu,返回值为true,才有效果
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.meun_a,menu);
return true;
}
}