Android5.0以前老版本都是用的ActionBar進行菜單操作的,隨着版本的變更ActionBar暴露出種種弊端,隨後google官方發佈了替代ActionBar的獨立控件toolBar,ActionBar已經廢棄了,所以如果不是特殊需要,請使用toolBar控件。
toolbar有兩種使用方式:
1,作爲actionBar的綁定:
使用方法與actionBar相同。使用步驟參考:http://blog.csdn.net/aigestudio/article/details/47090167。此種方法有個弊端,當在fragment中使用時,要重寫booleanonCreateOptionsMenu(Menu menu)和booleanonOptionsItemSelected(MenuItem item)方法。
2,作爲獨立控件使用:
只需要在activity的onCreate中或者fragment的onCreateView中添加如下集中的代碼:
Toolbar toolbar = (Toolbar)mViewRoot.findViewById(R.id.my_toolbar); // 設置導航按鈕 toolbar.setNavigationIcon(R.drawable.message_unselected); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getActivity(), "導航", Toast.LENGTH_SHORT).show(); } }); // 設置Logo圖標 toolbar.setLogo(R.mipmap.ic_launcher); // 設置菜單及其點擊監聽 toolbar.inflateMenu(R.menu.main_menu); toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { String result = ""; switch (item.getItemId()) { case R.id.button1: result = "1111"; break; case R.id.button2: result = "2222"; break; case R.id.button3: result = "3333"; break; } Toast.makeText(getContext(), result, Toast.LENGTH_SHORT).show(); return true; } });