一、自定义Toolbar的menu:

在menu下新建menu.xml文件,自定义menu的样式:

 1 <menu xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:app="http://schemas.android.com/apk/res-auto"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     tools:context=".MainActivity">
 5     <item
 6         android:id="@+id/action_search"
 7         android:orderInCategory="80"
 8         android:title="action_search"
 9         app:showAsAction="ifRoom"
10         android:icon="@drawable/search_ic_selector"/>
11 </menu>

二、自定义Toolbar,Toolbar一般是共用:

新建common_toolbar.xml文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <android.support.v7.widget.Toolbar
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     xmlns:app="http://schemas.android.com/apk/res-auto"
 5     android:id="@+id/common_toolbar_top"
 6     android:layout_width="match_parent"
 7     android:layout_height="wrap_content"
 8     android:background="@color/colorPrimary"
 9     android:minHeight="?attr/actionBarSize"
10     app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
11     app:navigationIcon="?attr/homeAsUpIndicator"
12     app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
13    >
14 </android.support.v7.widget.Toolbar>

注:其中app:navigationIcon="?attr/homeAsUpIndicator"用于设置返回图标

三、在布局文件中引入自定义的Toolbar:

<includelayout="@layout/common_toolbar">
</include>

四、activity中声明Toolbar以及对menu的事件监听:

注:Activity必须继承AppCompatActivity

1、声明Toolbar:

1 Toolbar toolbar = (Toolbar) findViewById(R.id.common_toolbar_top);
2 setSupportActionBar(toolbar);

2、Toolbar设置标题等:

setTitle(R.string.fragment_for_why_title);

3、对menu进行声明和事件监听:

menu声明:

@Override
public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);return true;
}

事件监听:

@Override
public boolean onOptionsItemSelected(MenuItem item) {int id = item.getItemId();//noinspection SimplifiableIfStatementif (id == R.id.action_search) {return true;}return super.onOptionsItemSelected(item);
}

五、最终效果图:

                      

Demo下载地址:http://shouji.baidu.com/software/item?docid=8118536&from=as

转载于:https://www.cnblogs.com/LT5505/p/4974237.html

Android开发之Android Material Design Toolbar自定义随笔相关推荐

  1. Android(Lollipop/5.0) Material Design(七) 自定义动画

    Material Design系列 Android(Lollipop/5.0) Material Design(一) 简介 Android(Lollipop/5.0) Material Design( ...

  2. Android开发之Android性能优化记录

    Android 性能优化 Android 中的性能优化在我看来分为以下几个方面:内存优化.布局优化.网络优化.安装包优化: 内存优化: 下一个问题就是: 布局优化: 布局优化的本质就是减少 View ...

  3. Android开发之android与JS互调 | Android与H5互调(附源码)

    我们先看下JS代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  4. Android开发之 Android 的基本组件的概述

    Android是一个为组件化而搭建的平台,它的应用是由一些零散的有联系的组件组成,并通过AndroidManifest.xml文件 把它们绑定起来. Android常用的组件有: Activity(活 ...

  5. Android开发之Android Studio 3.6新特性之获取控件id的高级方式ViewBinding

    一般获取id有如下几种方式: 访问布局控件ID方式 优点 缺点 findViewById 系统提供有保障 特别繁琐代码量大 第三方注解 快捷简单 引用三方可能有不确定因素 kotlinx.androi ...

  6. Android开发之Android WIFI ADB(ADB WIFI)无线调试的技巧

    老套路线上效果图 以前又adb wifi可以使用,不过那是17年我用的AS2.3版本,并且除了adb wifi这个插件外还得手机安装一个app才可以,特别麻烦. 显示有心插件了->Android ...

  7. Android开发之android studio快捷键大全

    AndroidStudio 快捷键大全 编辑相关快捷键 Ctrl+Space 补全代码 ctrl+shift+space 智能代码补全 Ctrl + Shift + Insert 可以选择剪贴板内容并 ...

  8. Android开发之Android Studio第三方库的六种依赖讲解说明

    在Android Studio中有六种依赖 Compile,Provided,APK,Test compile,Debug compile,Release compile 1.Compile 是对所有 ...

  9. android开发之android:padding和android:margin的区别

    android:layout_margin:指该控件距离父控件的边距, android:padding: 指该控件内部内容,如文本距离该控件的边距.

最新文章

  1. jupyter notebook xdg-settings 错误
  2. 你社交网站上的照片,也许已经被用来训练人工智能了
  3. python代码编辑器排行榜-4款好用的Python编辑器,你用过几个?
  4. 什么是云服务举例说明_云服务是什么功能
  5. Kafka解析之topic创建(2)
  6. 登录界面验证码的实现
  7. 【华为云技术分享】大数据容器化,头部玩家尝到了甜头
  8. npm-scripts 在 windows 下的兼容问题
  9. 家里在计算机在线考试作弊,计算机在线考试系统能监考
  10. 百度之星作为座位调整java_百度之星程序设计大赛十周年算法合集20052014.PDF
  11. 采集抖音APP的10个经典方法
  12. javascript 定义对象、方法和属性的使用方法(prototype)
  13. Linux下修改MAC值
  14. 高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站)
  15. 基于html5的音乐网站开题,开题报告——基于HTML5的音乐网站.doc
  16. S3C2440 温度传感器ds18b20的焊接测试
  17. 中国第三方支付产业投资项目及十四五机会战略分析报告2022~2028年
  18. cos三次方积分_cos(t)的3次方公式是什么?
  19. java毕业设计网站基于JSP的在线调查问卷系统|投票[包运行成功]
  20. 中国传媒大学博士申请初试准备经验(文科+工科)(2022)

热门文章

  1. 对于java反射的理解
  2. hdu 5616 Jam's balance 正反背包+转换
  3. tinyxml学习2
  4. ffmpeg + x264 编码H264(x86+arm)
  5. 2013.10u-boot移植之SD保存环境变量
  6. gd-flags |= GD_FLG_RELOC; 问题遗留
  7. oraclesqldeveloper 批量插入多个存储过程_MongoDB如何批量执行写操作
  8. AI让边缘更智能,边缘让AI无处不在
  9. 云栖大会特享,热营抢先开,阿里云专家的私教课,限时抢报!
  10. 阿里面试官:什么样的人能在阿里晋升?