Toolbar的使用

ActionBar早已经不再使用, Google推荐使用Toolbar替代, toolbar不单可以置于最顶端, 也可以是弹出式, 或者像输入法一样置于弹出窗口顶端.

我们只说说普通的toolbar怎么使用.

首先, Toolbar控件是在v7包中提供的, 那么我们需要将v7包纳入.

dependencies {
...
    implementation 'com.android.support:appcompat-v7:27.0.2'
...
}

在style中设置主题, 设置为"不带actionbar"的主题


在布局中导入:



    


好, 我们来看下效果.


Toolbar的使用_第1张图片
image

这就完了吗? 那也太简单了吧.

我们给它加个菜单看看.

在res资源下增加一个"menu"目录, 添加一个menu_main.xml菜单文件.

 



    
    
    


菜单里只有三项, 分别是"Backup", "Delete", "Settings", 并分别配置了图标.

然后在activity里增加菜单注入代码.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main,menu);
    return true;
}

好, 我们来看下效果.


Toolbar的使用_第2张图片
image

纳尼?!!! 还是老样子, 没看到菜单. 为什么呢?

其实这个时候只是表示这个toolbar显示出来了, 功能上还没任何扩展呢.要想使用它, 我们需要在代码中进行申明, 将actionbar替换成toolbar, 然后我们才可以对它进行一些操作或设置. 比如增加菜单.

private Toolbar toolbar;

private void initView() {
    toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
}

好, 再来看下效果


Toolbar的使用_第3张图片
image

嗯, 不错哦, 有图标了, 也有溢出菜单了, 我们再看看溢出菜单.


Toolbar的使用_第4张图片
image

怎么回事? "Setting"的底色怎么是黑色的? 这样不搭啊!

当然, 还记得我们在style中对整个App设置了一个主题吧, 主题是黑色系的