经过三天休息,我回来了,我们继续讨论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. js进阶正则表达式实现过滤字符串(RegExp对象操作正则表达式)(正则:regular)(表达式:expression)

    js进阶正则表达式实现过滤字符串(RegExp对象操作正则表达式)(正则:regular)(表达式:expression) 一.总结 1.str_replace:正则作用:高效快速匹配 2.break ...

  2. html5-6 Frame框架窗口类型

    html5-6  Frame框架窗口类型 一.总结 一句话总结: 1.点左侧的a链接如何打开右侧页面? <a href='user/index.html' target='right'>& ...

  3. Windows Phone 8.1 控件

    如果你已经开始了 Windows Phone 8.1 的学习,就会发现许多在 8.0 下的控件在 8.1 中都发生了变化,以下就谈谈几个 8.1 下的新控件以及与 8.0 控件的改变. 1. Text ...

  4. base64码通过http传输 +号变 空格 问题解决

    通过七牛云base64上传图片,通过官方示例上传成功后,根据示例改了一个controller. 通过前端往后端传base64码形式进行测试.死活不通过,七牛报400. 仔细排查后发现,示例转换的bas ...

  5. Android EditText文本内容变化监听方法

    package com.google; import android.app.Activity; import android.os.Bundle; import android.text.Edita ...

  6. Delphi程序的自我修改

    前言:     对于Delphi在编译时对代码所做的工作,大部分使用Object Pascal之类的高级语言的程序员并不是很熟悉.如果你对汇编程序以及EXE文件格式有一点基本认识,那么源代码里包含的注 ...

  7. 5.7-GTID复制搭建

    基本环境   Master Slave MySQL版本 MySQL-5.7.16-X86_64 MySQL-5.7.16-X86_64 IP 192.168.56.156 192.168.56.157 ...

  8. iOS 利用FZEasyFile本地保存 和 常规保存

    1.常规保存(较麻烦) NSFileManager *fileManager = [NSFileManager defaultManager]; //获取document路径,括号中属性为当前应用程序 ...

  9. P2P理财友情提示

    最近2年,P2P理财非常火,但是出现的问题也是越来越频繁. 2014年12月,据说有70多家平台出现了问题,加上以前的,一共有300多家了,出现问题的占总比有20%~30%了. 这个真的是非常的可怕. ...

  10. Unity UGUI——Rect Transform包裹(Anchor Presets)

    Anchor Presets使用演示样品物业 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXJfQUhhbw==/font/5a6L5L2T/fonts ...