经过三天休息,我回来了,我们继续讨论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>

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

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

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

Android 5.0(L) ToolBar(替代ActionBar) 现实(四)的更多相关文章

  1. Android 一步步教你从ActionBar迁移到ToolBar

    谷歌的材料设计也发布了有一段时间了,包括官方的support库 相信大家也熟悉了不少,今天就把actionbar 迁移到toolbar的 经验发出来. 这个地方要注意 我用的图标都是studio里的一 ...

  2. Android 5.0 新特性

    Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干 ...

  3. 001.android初级篇之ToolBar

    官方的最新support library v7中提供了新的组件ToolBar,用来替代之前的ActionBar,实现更为弹性的设计在 material design 也对之做了名称的定义:App ba ...

  4. Android Material Design之Toolbar与Palette

    转:http://blog.csdn.net/jdsjlzx/article/details/41441083 前言 我们都知道Marterial Design是Google推出的全新UI设计规范,如 ...

  5. 【译】Android 6.0 Changes (机翻加轻微人工校对)

    Android 6.0 Changes In this document Runtime Permissions Doze and App Standby Apache HTTP Client Rem ...

  6. Android 5.0/5.1开发问题专贴

    注:非5.0特定的开发问题,可以在这个帖子里查:Android开发问题汇总. 1.官方提供的例子android-support-v7-appcompat编译时提示android:actionModeS ...

  7. ToolBar、ActionBar与Menu的纠葛(以及navigationIcon、setHomeButtonEnabled、setDisplayHomeAsUpEnabled)

    因为贴图的繁琐...所以下面是无图版...完整的在这里: 探究一下toobar和actionbar在使用menu时的吊诡情况 一.背景介绍 toolbar最近比较火,而且是出出来代替actionbar ...

  8. Android 5.0 全新的动画

    触摸反馈 ripple 触摸反馈是指用户在触摸控件时的一种可视化交互,在Android L之前,通常是通过press色变来凸显,但是因为是瞬间变化的效果,不如动画生动. 在Android L 中定义了 ...

  9. Android 6.0 Changes

    原文链接:http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html 伴随着新特性和功能,Andr ...

随机推荐

  1. 号外:小雷将开发一款Java版的简易CMS系统

    我的个人官网: http://FansUnion.cn 已经改版,隆重上线了,欢迎关注~持续升级中...     出于个人兴趣.技术总结.工作相关,我终于想要做一个简单的CMS系统了. 原来想研究,D ...

  2. [RxJS] Split an RxJS observable with window

    Mapping the values of an observable to many inner observables is not the only way to create a higher ...

  3. sql server操作远程数据库

    --连接远程数据库 EXEC sp_addlinkedserver '服务器ip',N'SQL Server' --登录远程服务器 EXEC sp_addlinkedsrvlogin '服务器ip', ...

  4. js进阶 11-3 jquery中css属性如何操作

    js进阶 11-3  jquery中css属性如何操作 一.总结 一句话总结:通过css()方法 1.attr和css是有交叉的,比如width,两者中都可以设置,那么他们的区别是什么? 其实通俗一点 ...

  5. [React Router v4] Create Basic Routes with the React Router v4 BrowserRouter

    React Router 4 has several routers built in for different purposes. The primary one you will use for ...

  6. 在向server发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 0 - 管道的还有一端上无不论什么进程。

    作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/36425825 SQL Server 2008 + VS2010 用C#编写的代 ...

  7. NOIP模拟 cube - 数学

    题目原文: 豆豆还是觉得自己智商太低了,就又去做数学题了.一看到题,他就觉得自己可能真的一点智商都没有.便哭着跑来像 dalao 求教:如果存在正整数 A,B ,满足 A3 - B3 = x ,则称质 ...

  8. NOIP模拟 Work - 二分 + 树状数组 / ???

    题目分析 如果没有最后的注意事项,此题就是二分裸题.有了注意事项,会有两种思路: 在线:二分天数t,并在主席树上求1~t天中大于d(浪费的时间)的时间之和以及数量,答案即为:sum - d * cnt ...

  9. CentOS6.5系统挂载NTFS分区的移动硬盘

    CentOS6.5系统挂载NTFS分区的移动硬盘 作为IT的工作者,避免不了使用Linux系统,我如今使用的系统是CentOS6.5 X86_64位版本号,可是插入NTFS移动硬盘没有办法识别.通过以 ...

  10. Python中 如何将一个字符串分成一个个字符

    其实   一个字符串  实质也是 一个列表 就很简单了: a = ' for item in a: print(item) 打印结果: 121512 如果进而要统计字符出现的次数 , 那就很简单了.