经过三天休息,我回来了,我们继续讨论Toolbar。

在此之前假设您正在步步紧跟下来的序列,然后,你应该注意到MainActivity据说他已被警告。因为他们,我们声明toolbar对象。但一直没有用。假设你想实现,那么菜单功能,必要使用。

结合Toolbar使用菜单还是非常easy的。仅仅需在MainActivity中重写onCreateOptionsMenu()和onOptionsItemSelected()就能够了。

这样的方法已经有着悠久的历史,这里就不再多说了。

回顾一下ActionBar,此前的ActionBar在实现菜单时,假设遇到虚拟按键的机器,会在Activity的右上角显示菜单。假设遇到实体按键的机器,则不会。用户须要手动去触摸菜单键才干激活菜单。

这事实上是不太合理的,作为用户。非常有可能不知道应用中还有菜单。

因此,在Toolbar中,这个问题得到了非常好的修复。效果就是,不管是否存在实体按键,右上角都会显示菜单,而要实现这一效果也是及其easy的,仅仅须要以下的一句话:

setSupportActionBar(toolbar);

以下放上效果图:

细心的朋友能够发现。上方的Toolbar已经改变了样式,那么它又是怎样实现的呢?

这里有两种方法:

1)在每一个具有Toolbar的布局文件里定义风格;

2)在AndroidManifest中指向统一的应用主题样式。

前者不必多说。仅仅须要在布局文件里指定特定字段的值就好。这里具体说下后者。

首先我们在布局文件里,除了Toolbar的位置、标题文本和ID外,不要给定不论什么其它的值,比方:

 <android.support.v7.widget.Toolbar
android:id="@+id/demo_toolbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:title="@string/hello_world" />

然后。在values目录中创建theme.xml,在当中定义主题风格,以下列出这段程序清单:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 默认的蓝色风格 -->
<style name="DefaultBlueTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<!-- Toolbar风格 -->
<item name="toolbarStyle">@style/DefaultBlueToolbar</item>
</style> <!-- 默认的Toolbar样式 -->
<style name="DefaultBlueToolbar" parent="@style/Widget.AppCompat.Toolbar">
<item name="android:background">@color/default_blue</item>
<item name="titleTextAppearance">@style/ToolBarTitleTextStyle</item>
</style> </resources>

引用的颜色值例如以下。在color.xml中定义:

    <color name="default_blue">#33B5E5</color>
<color name="default_white">#FFFFFF</color>

这样就实现了上图的效水果。

此,下一章我们将探讨侧栏上使用的开发。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

最新文章

  1. 高可用thrift客户池的实现详解
  2. 搭建自己私有的PKM系统,各家PKM大比拼。。附:构建自己熟悉的基础Docker,破解联通光猫
  3. flash 居中问题
  4. windows下怎么打开psql命令
  5. 23个MySQL常用查询语句
  6. android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现
  7. Java引领新生活
  8. python 从视频中提取图片,并保存在硬盘上
  9. 详细解读-this-关键字在全局、函数、对象、jQuery等中的基础用法!
  10. RxAndroid中observable的基本使用和表单校验操作
  11. Powershell:关于hashtable你想知道的一切
  12. Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介
  13. 在 Docker 里跑 Java,你必须知道的那些事儿!(转)
  14. leetcode-28.实现strStr()
  15. python正则表达式(一)
  16. Python脚本之安装linux源码包-Jenkins
  17. ASP.NET MVC与WebForm对比
  18. 7-OKHttp使用详解,步骤挺详细的,适合初学者使用!
  19. UWP开发细节记录:DirectX::XMMATRIX 的坑
  20. metasploit-smb扫描获取系统信息

热门文章

  1. [D3] Create Labels from Non-numeric Data with Ordinal Scales in D3 v4
  2. 小强的HTML5移动开发之路(51)——jquerymobile中改善页面访问速度
  3. 【hdu 5996】dingyeye loves stone
  4. Python实战:如何隐藏自己的爬虫身份
  5. Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes
  6. Android有用的任务管理器—tractor
  7. 深度学习框架 —— tflearn 的学习
  8. SQL表的默认常用数据类型
  9. 【bzoj2453】维护队列 (分块 + 二分)
  10. 【u127】台阶问题