Androd Toolbar 的简单使用二

上一篇简单的介绍了如何简单使用Toolbar,这篇主要介绍Toolbar的进一步设置。

既然Toolbar要替代ActionBar,那么Toolbar的功能应该更为强大,在Toolbar上有一些默认的显示效果,先来看下。

        Androd Toolbar 的简单使用二_第1张图片

通过上图,不难看出,我们其实是可以为Toolbar设置以下属性的:

  • 上级按钮 (upbutton)   setNavigationIcon
  • APP 的图标      setLogo
  • 主标题  setTitle
  • 副标题  setSubtitle
  • 设定菜单各按鈕的动作 setOnMenuItemClickListener

在MainActivity的OnCreate() 方法中加入以下代码:

toolbar.setLogo(R.drawable.ic_launcher);
toolbar.setNavigationIcon(R.drawable.ic_launcher);
toolbar.setTitle(getResources().getString(R.string.app_name));
toolbar.setSubtitle("ToolBar");
toolbar.setOnMenuItemClickListener(this);
toolbar.setTitleTextColor(0xffffffff);
toolbar.setSubtitleTextColor(0xffffffff);


注意:setNavigationIcon(),setOnMenuItemClickListener() 需要放在 setSupportActionBar之后才会生效

Toolbar菜单效果与ActionBar的实现一样,都是OptionsMenu。需要在Menu中添加 item ,然后通过Toolbar显示出来。

res/menu/menu_main.xml


    
    



然后在MainActivity中添加以下代码

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

@Override
public boolean onMenuItemClick(MenuItem menuItem) {
    Toast.makeText(this, menuItem.getTitle(), Toast.LENGTH_SHORT).show();
    return false;
}

运行效果如下:

Androd Toolbar 的简单使用二_第2张图片


 

通过点击 菜单,可以发现能够触发 onMenuItemClick() 方法,但是,点击上级按钮 (upbutton)并没有触发该事件,因为它有自己独立的点击事件。

 toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this, "HOME", Toast.LENGTH_SHORT).show();
    }
 });

 

源码下载


你可能感兴趣的:(Androd Toolbar 的简单使用二)