toolbar遇到问题和解决方式

来源:互联网 发布:教师网络培训学员心声 编辑:程序博客网 时间:2024/04/30 16:44

Toolbar的引用

  1. 引用v7架包下面的android.support.v7.widget.Toolbar

  2. 配置style.xml
    如果要兼容低版本(5.0以下)

  3. 定义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);


  1. 为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);
0 0
原创粉丝点击