您的位置:首页 > 移动开发 > Android开发

toolbar遇到问题和解决方式

2016-02-15 15:03 525 查看

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);

[/code]

为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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Toolbar android-L