Android开发之Android Material Design Toolbar自定义随笔
一、自定义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自定义随笔相关推荐
- Android(Lollipop/5.0) Material Design(七) 自定义动画
Material Design系列 Android(Lollipop/5.0) Material Design(一) 简介 Android(Lollipop/5.0) Material Design( ...
- Android开发之Android性能优化记录
Android 性能优化 Android 中的性能优化在我看来分为以下几个方面:内存优化.布局优化.网络优化.安装包优化: 内存优化: 下一个问题就是: 布局优化: 布局优化的本质就是减少 View ...
- Android开发之android与JS互调 | Android与H5互调(附源码)
我们先看下JS代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...
- Android开发之 Android 的基本组件的概述
Android是一个为组件化而搭建的平台,它的应用是由一些零散的有联系的组件组成,并通过AndroidManifest.xml文件 把它们绑定起来. Android常用的组件有: Activity(活 ...
- Android开发之Android Studio 3.6新特性之获取控件id的高级方式ViewBinding
一般获取id有如下几种方式: 访问布局控件ID方式 优点 缺点 findViewById 系统提供有保障 特别繁琐代码量大 第三方注解 快捷简单 引用三方可能有不确定因素 kotlinx.androi ...
- Android开发之Android WIFI ADB(ADB WIFI)无线调试的技巧
老套路线上效果图 以前又adb wifi可以使用,不过那是17年我用的AS2.3版本,并且除了adb wifi这个插件外还得手机安装一个app才可以,特别麻烦. 显示有心插件了->Android ...
- Android开发之android studio快捷键大全
AndroidStudio 快捷键大全 编辑相关快捷键 Ctrl+Space 补全代码 ctrl+shift+space 智能代码补全 Ctrl + Shift + Insert 可以选择剪贴板内容并 ...
- Android开发之Android Studio第三方库的六种依赖讲解说明
在Android Studio中有六种依赖 Compile,Provided,APK,Test compile,Debug compile,Release compile 1.Compile 是对所有 ...
- android开发之android:padding和android:margin的区别
android:layout_margin:指该控件距离父控件的边距, android:padding: 指该控件内部内容,如文本距离该控件的边距.
最新文章
- jupyter notebook xdg-settings 错误
- 你社交网站上的照片,也许已经被用来训练人工智能了
- python代码编辑器排行榜-4款好用的Python编辑器,你用过几个?
- 什么是云服务举例说明_云服务是什么功能
- Kafka解析之topic创建(2)
- 登录界面验证码的实现
- 【华为云技术分享】大数据容器化,头部玩家尝到了甜头
- npm-scripts 在 windows 下的兼容问题
- 家里在计算机在线考试作弊,计算机在线考试系统能监考
- 百度之星作为座位调整java_百度之星程序设计大赛十周年算法合集20052014.PDF
- 采集抖音APP的10个经典方法
- javascript 定义对象、方法和属性的使用方法(prototype)
- Linux下修改MAC值
- 高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站)
- 基于html5的音乐网站开题,开题报告——基于HTML5的音乐网站.doc
- S3C2440 温度传感器ds18b20的焊接测试
- 中国第三方支付产业投资项目及十四五机会战略分析报告2022~2028年
- cos三次方积分_cos(t)的3次方公式是什么?
- java毕业设计网站基于JSP的在线调查问卷系统|投票[包运行成功]
- 中国传媒大学博士申请初试准备经验(文科+工科)(2022)
热门文章
- 对于java反射的理解
- hdu 5616 Jam's balance 正反背包+转换
- tinyxml学习2
- ffmpeg + x264 编码H264(x86+arm)
- 2013.10u-boot移植之SD保存环境变量
- gd-flags |= GD_FLG_RELOC; 问题遗留
- oraclesqldeveloper 批量插入多个存储过程_MongoDB如何批量执行写操作
- AI让边缘更智能,边缘让AI无处不在
- 云栖大会特享,热营抢先开,阿里云专家的私教课,限时抢报!
- 阿里面试官:什么样的人能在阿里晋升?