本文共 4206 字,大约阅读时间需要 14 分钟。
public class MainActivity extends AppCompatActivity { @SuppressLint("RestrictedApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle("aaaa");//主标题toolbar.setSubtitle("bbb");//主标题正下方的附标题toolbar.setLogo(R.drawable.ic_launcher_background);//logo setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true);//这个是显示返回箭头//toolbar.setNavigationIcon(R.mipmap.ic_launcher);//返回按钮图标//toolbar.setOnMenuItemClickListener(onMenuItemLis);//将onMenuItemClick监听者设置给toolbar setHasOptionsMenu(true);// //添加左边图标点击事件 toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.e("s","dd"); finish(); } }); } private void setHasOptionsMenu(boolean b) {Log.e("d","ss"); } // 创建上下文菜单时触发该方法 @Override public void onCreateContextMenu(ContextMenu menu, View source, ContextMenu.ContextMenuInfo menuInfo) { MenuInflater inflator = new MenuInflater(this); //装填R.menu.context对应的菜单,并添加到menu中 inflator.inflate(R.menu.menu_main , menu); menu.setHeaderIcon(R.drawable.ic_launcher_background); menu.setHeaderTitle("请选择背景色"); } // 上下文菜单中菜单项被单击时触发该方法 @Override public boolean onContextItemSelected(MenuItem mi) { // 勾选该菜单项 mi.setChecked(true); // ① switch (mi.getItemId()) { case R.id.action_settings : Log.e("s","上下文"); break; } return true; } //设置menu(右边图标)显示 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); //解析menu布局文件到menu,第一中方法,使用xml定义 添加菜单项(多种方式)---第二种方法 // 1.直接指定标题 menu.add("菜单项1"); // 2.通过资源指定标题 menu.add("第二");// // 3.显示指定菜单项的组号、ID、排序号、标题// menu.add(// 1, //组号// Menu.FIRST, //唯一的ID号// Menu.FIRST, //排序号// "菜单项3"); //标题//// // 如果希望显示菜单,请返回true return true; } //监听menu的方法一 @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); Log.e("as","setting"); if (id == R.id.action_settings) {Log.e("as","setting"); return false; } return super.onOptionsItemSelected(item); }// //toolbar上的右变的几个按妞,可以自己设置几个,加入OnMenuItemClickListener 的监听者:监听menu的方法二//private Toolbar.OnMenuItemClickListener onMenuItemLis=new Toolbar.OnMenuItemClickListener(){// @Override// public boolean onMenuItemClick(MenuItem menuItem) {// String msg = "";// switch (menuItem.getItemId()) {// case R.id.action_settings:// msg += "Click settings";// break;// case R.id.action_share:// msg += "Click share";// break;//// }//// if(!msg.equals("")) {// Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();// }// return true;// }////}; public void addClick(View v){ }}
---------menu_main.xml------------
---------------重写菜单方法----------
//菜单,点击手机上的memu按钮,就是底部中间哪个按钮 @Override public boolean onCreateOptionsMenu(Menu menu) {//添加菜单的第一种方式// getMenuInflater().inflate(R.menu.menu_main,menu);//第一个参数是menu文件夹中的资源 //第二种通过代码添加 menu.add(0,1,0,"前进");//第二个参数是id menu.add(0,2,0,"前进"); return true; } //当我们想知道点击的是哪个菜单,需要重写下面的方法 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case 1: break; case 2: break; } return super.onOptionsItemSelected(item); } //当菜单打开之前调用 @Override public boolean onMenuOpened(int featureId, Menu menu) { //弹出自定义的对话框 return false; }
----------menu.xml-------
转载地址:http://rvmgi.baihongyu.com/