Toolbar使用方法

Toolbar作为ActionBar的替代品,功能更加强大,使用更加方便,在这里根据自己在网上学习到的资料总结一下

一. 配置
  1. theme配置
  2. layout配置
  3. 代码配置
二.自定义
  1. 状态栏背景颜色自定义
  2. Toolbar背景颜色,文字颜色与大小自定义
  3. 导航条背景颜色自定义(仅能在 API v21 也就是 Android 5 以后的版本中使用, 因此要将之设定在 res/values-v21/theme.xml 里面)
  4. 页面背景颜色设置
  5. 溢出菜单背景,文字颜色自定义

一. 配置

  1. theme配置
    theme要调整的地方有两处
    一在 res/values/theme.xml中
    二在 res/values-v21/theme.xml中
    为了之后设定方便,我们先在 res/values/theme.xml 里增加一个名为 AppTheme.Base 的风格,因为此范例只使用 Toolbar,所以我们要将让原本的 ActionBar 隐藏起来

这里我修改过,之前parent="Theme.AppCompat",但是这样的话在Toolbar弹出菜单里的item没有水波纹点击效果,后来设置成下面的形式才有了点击效果


  
 
  
  

然后将需要在manifest.xml中配置的 UI.AppTheme 的 parent 属性改为上面的AppTheme.Base

再来调整Android 5.0的style: /res/values-v21/theme.xml,也将其 parent 属性改为 AppTheme.Base:



    

  1. layout配置
    在 activity_main.xml 里面添加 Toolbar 控件:

请记得用 support v7 里的 toolbar,不然只有 API Level 21 也就是 Android 5.0 以上的版本才能使用,?attr/actionBarSize意思是使用系统的值

3.代码配置

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

二.自定义
先看一个图片

Toolbar使用方法_第1张图片

我就不分开写了,直接写我配置好的代码

  1. 在 res/values/theme.xml中


    

    
    

  1. 同时增加res/values/styles.xml文件,内容如下


    
    

    

    
    

因为我是把这些做到了一个UILib库里,所以在res/values下还增加了2个文件

  1. res/values/abstract_id.xml


    

  1. res/values/abstract_color.xml



    
    

    
    

    
    

    
    

    
    

    
    

    
    

    
    

这些只是在这里定义一下名称,并没有实际的数值,上面说了我这些都写在UILib里,所以这些值到时候需要在上层App配置

5.在res/values-v21/theme.xml中



    

因为我自定义了Toolbar的溢出菜单背景和文字颜色等值(在res/values/styles.xml文件中配置的,名字叫OverflowMenuStyle),所以我需要在使用Toolbar的地方配置上这个style才会生效

例如上面使用Toolbar的地方是activity_main.xml,所以这里需要改为


参考文章:
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1118/2006.html
http://blog.mosil.biz/2014/10/android-toolbar/
http://yifeng.studio/2017/04/18/android-theme-appcompat-color-attrs/

你可能感兴趣的:(Toolbar使用方法)