Toolbar的引用
引用v7架包下面的android.support.v7.widget.Toolbar
配置style.xml
如果要兼容低版本(5.0以下)- 定义style.xml中的基础样式
< style name=”AppTheme.Base” parent=”Theme.AppCompat”>
< item name=”windowActionBar”>false < /item>
< item name=”windowNoTitle”>true < /item>
< /style>
2.在value-v21目录下的style.xml配置
< style name="AppTheme" parent="AppTheme.Base">
< /style>
Ps:在使用api 23的时候必须把属性的前缀(android:)去掉
网上搜索了一下资料,22的也需要把前缀去掉
遇到的错误提示:
This Activity already has an action bar supplied by the window decor. Do not request
Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
3 activity中代码编写
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setLogo(R.mipmap.ic_launcher);
toolbar.setTitle("title");
toolbar.setSubtitle("subTitle");
setSupportActionBar(toolbar);
toolbar.setNavigationIcon(android.R.drawable.ic_menu_view);
- 为toolbar添加选项
在res/menu目录下创建一个menu.xml
在代码中重写onCreateOptionsMenu()方法,与actionbar类似
选择监听的实现:toolbar.setOnMenuItemClickListener(menuItemClickListener);@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main,menu); return true; } //选择监听 Toolbar.OnMenuItemClickListener menuItemClickListener = new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()){ case R.id.action_edit: break; case R.id.action_share: break; case R.id.action_settings: break; } return true; } }; //最后记得设置监听器 toolbar.setOnMenuItemClickListener(menuItemClickListener);