Android Toolsbar 详解

以一个常用的例子来讲解我们应该如何来使用 ToolBar,请看下图:

Android Toolsbar 详解_第1张图片
toolbar.jpeg

步骤

  • 去掉系统自带的title
  • 在 XML 中定义
  • 设置标题、导航图标
  • 添加菜单

去掉系统自带的title

在 styles.xml 中

 
    

定义 ToolBar




    
    

    



定义ToolBar并设置背景颜色为 "#336666".

设置标题、图标等

在 MainActivity 中:

mToolbar.setTitle("Title");

//设置导航图标、添加菜单点击事件要在setSupportActionBar方法之后
setSupportActionBar(mToolbar);
mToolbar.setNavigationIcon(R.drawable.ic_web_delete);

添加菜单

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

设置点击事件

mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.web_refresh:
                        Toast.makeText(MainActivity.this, "你点击了刷新按钮!!", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.web_full_screen:
                        Toast.makeText(MainActivity.this, "全屏浏览", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.web_share:
                        Toast.makeText(MainActivity.this, "分享 !", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.web_copy:
                        Toast.makeText(MainActivity.this, "复制链接 !", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.web_launch:
                        Toast.makeText(MainActivity.this, "启动外部浏览器 !", Toast.LENGTH_SHORT).show();
                        break;
                    default:
                        break;
                }
                return true;
            }
        });
        mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "关闭了页面", Toast.LENGTH_SHORT).show();
                finish();
            }
        });

有很多内容代码没有贴出来,如果有兴趣的话可以直接看源码。

源码地址:https://github.com/ttxxly/android/tree/master/AppBarLayout

你可能感兴趣的:(Android Toolsbar 详解)