Material Design整理(三)——ToolBar

github地址:https://github.com/shuaijia/MaterialDesignProject

简介

应用内容的标准工具栏,可以说是ActionBar的升级版,两者不是独立关系。

  • 应用内容的标准工具栏,可以说是ActionBar的升级版,两者不是独立关系。 相比ActionBar,ToolBar更加自由,可以随意放置,当一个ViewGroup来使用。 ToolBar提供了可定制、修改的属性: - 导航栏图标 - AppLogo - 主标题、子标题 - 添加一个或多个自定义控件 - 支持Action Menu

使用

1、在res/menu文件夹下,创建menu

设置标题栏右侧条目

其中showAsAction可选参数为:

  • always:使菜单项一直显示在ToolBar上
  • ifRoom:如果有足够的空间,菜单项显示在ToolBar上,否则显示在更多中
  • never:菜单项永远不显示在ToolBar上,只显示在更多中
  • withText:图标和文字一起显示

2、在布局中使用ToolBar

另外:可以把ToolBar当做普通ViewGroup来使用,所以可以在布局文件中直接将自定义控件放置其中。

3、在Activity中

在setContentView方法之前,设置界面没有标题栏:

  • 如果Activity继承Activity,设置:
  • 如果Activity继承的是AppCompatActivity,则:

附:隐藏导航栏有两种方法:

  • 如上在代码中设置
  • 在清单文件中给对应Activity设置主题,主题为Theme.AppCompat.Light.NoActionBar

4、将ToolBar作为导航栏

5、可以对ToolBar进行其他设置

6、添加菜单项

此步骤就是将创建的menu文件设置给ToolBar

7、对菜单项添加点击事件

还有另外一种方式:

setOnMenuItemClickListener(new ToolBar.OnMenuItemClickListener());

8、当然,还有导航图标的点击

原文发布于微信公众号 - Android机动车(JsAndroidClub)

原文发表时间:2017-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏较真的前端

Vue相关的前端面试题,每道题都很经典~

6.6K30
来自专栏Sorrower的专栏

界面无小事(九): 做个好看的伸缩头部

17020
来自专栏CRPER折腾记

Angular 2 + 折腾记 :(10) 初步了解动画,以及一步一步写个动画效果

ng2.x动画相关的api是并入@angular/core这个核心模块的,在angular4之后开始独立

8220
来自专栏Windows Community

Windows 8.1 应用再出发 (WinJS) - 几种新增控件(2)

上篇我们介绍了Windows 8.1 和 WinJS 中新增控件中的 AppBarCommand、BackButton、Hub、ItemContainer,本篇...

32860
来自专栏非著名程序员

android:descendantFocusability用法简析

导语 由于今天比较忙,今天就来介绍一下,我之前在博客中写过的东西吧,今天我们就来介绍一下android:descendantFocusability这个属性。...

22650
来自专栏Android-薛之涛

Android-ConstraintLayout详解(下)

我们接着上一篇说一说ConstraintLayout的其他属性,如果没看过上一篇:Android-ConstraintLayout详解 先罗列一下此次的会议内...

21630
来自专栏深度学习之tensorflow实战篇

HTML5与HTML4的区别,新增的元素有哪些?

注:部分格式编写存在<>封闭错误,只为在博客中显示,并非正确写法。 1. HTML5推出的理由 解决Web上存在的问题: Web浏览器间的兼容性低:在...

42560
来自专栏非典型技术宅

断言和分段控制器1. 断言(Assertions)2. 分段控制器(UISegmentedControl)

9630
来自专栏Web项目聚集地

CSS布局解决方案(全屏布局)

原文连接:https://segmentfault.com/a/1190000013565024#articleHeader1

28840
来自专栏JavaEdge

React.js 实战之深入理解组件sublime 插件安装组件间通信

17940

扫码关注云+社区

领取腾讯云代金券