Android 5.0(L) ToolBar(替代ActionBar) 现实(四)

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

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

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

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

时间: 2024-08-26 15:43:40

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

在低于android 5.0的版本中ActionBar不显示

我从ABS切换到AppCompat与Material theme(仅适用于API21) 我的配置文件如下: <application android:theme="@style/AppStyle" <-- values folder --> <style name="AppStyle" parent="@style/AudioRecTheme"> <style name="AudioRecTheme&

Android 5.0(L) 的MediaSession架构分析

Android5.0 提出了全新的MediaSession概念用于播放器与控制器之间进行交互,它取代之前的RemoteControlClient,并提供了更为灵活的客户端受控端模型,下面是它的架构图: 其架构主要分为3大部分: 1. 受控端(播放器): 播放器需要创建MediaSession,创建的时候就类似于在系统注册了它,并告诉系统它可以被其他控制端所控制. 2. framework(中介): 受控端创建MediaSession以后都会登记在framework中,framework同时会记录

android 5.0 toolbar 上实现 material tabs

android5.0 中如何才能实现类似play store中的tab效果?(滚动式隐藏,合适的间距),我尝试过 SlidingTabs 和其他的一些lib库,他们基本上都超期了.. 关于一些细节方面,android5之前的版本中,api20一下,我经常使用 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ,但是在android5.0中,整个ActionBar  都被ToolBar替换了 . 如何才能正确的使用 Mater

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

谷歌的材料设计也发布了有一段时间了,包括官方的support库 相信大家也熟悉了不少,今天就把actionbar 迁移到toolbar的 经验发出来. 这个地方要注意 我用的图标都是studio里的一个插件提供的,我随便选的图标,大家知道意思就行 不要在意图标的意义......美术不好 见谅.. 先上一个actionbar的demo,里面基本上包括了actionbar的主要功能点. 比如 菜单,二级菜单,一键返回主界面,action provider,tab,和searchview的结合 等.

Android Material Design之Toolbar与Palette

转:http://blog.csdn.net/jdsjlzx/article/details/41441083 前言 我们都知道Marterial Design是Google推出的全新UI设计规范,如果对其不太了解的可以看下:Material design非官方中文指导手册 ,或者我的前面几篇Material Design的译文,相比之前Google在Android Holo风格上平平淡淡的表现不同,Material Design现在是被Google所比较重视的.在推出这门全新设计语言后,And

[翻译]Android 5.0之应用中实现材料设计—Material Design

上午的时候在刷Google+,看到了Abraham Williams转发了一篇强文,是Android Developers网站新发的一篇博客—Implementing Material Design in your Android App.觉得很前卫,对于新发布的Android版本号Android 5.0是一个很好的学习和了解的机会,所以就花了些时间把它翻译了下来,希望对自己.对其它人有所启发. 因为翻译Android开发博客和API也只是业余爱好,水平有限,其中不免有不准确的地方,所以把原文地

我们来一探究竟 Android 7.0 适配中 FileProvider 部分

本文标签: Android7.0 FileProvider 由于 Android 7.0 或更高版本的系统在国内手机市场上的占比不是很高,很多 Android 开发人员并没有做 7.0 适配工作,同时测试人员也容易忽视这方面的兼容问题.这导致 7.0 及以上版本的手机用户在使用到应用部分功能时可能出现 App 崩溃闪退.其中,大部分原因都是由项目中使用到 file:// 类型的 URI 所引发的.本文我们便来一探究竟. Android 7.0 权限变更 为了提高私有目录的安全性,防止应用信息的泄

android5.0之toolBar

toolBar是android5.0之后提出的,可以简单的理解为ActionBar的升级版吧,在5.0之后,官方推荐使用ToolBar!下面开启ToolBar的正文(老样子,有问题请指正,有疑问,偶们共同讨论!嘎嘎......) ①toolBar是5.0之后提出的,那么低版本的该怎么办啊?老规矩咯,引入V7包'com.android.support:appcompat-v7:22.1.1',就是介个!(注意:下面的一些类都是V7包里的,不要写错了!!!) ②V7包引入之后,还是不可以直接使用to

Android 7.0 适配中 FileProvider 部分总结

本文标签: Android7.0 FileProvider 由于 Android 7.0 或更高版本的系统在国内手机市场上的占比不是很高,很多 Android 开发人员并没有做 7.0 适配工作,同时测试人员也容易忽视这方面的兼容问题.这导致 7.0 及以上版本的手机用户在使用到应用部分功能时可能出现 App 崩溃闪退.其中,大部分原因都是由项目中使用到 file:// 类型的 URI 所引发的.本文我们便来一探究竟. Android 7.0 权限变更 为了提高私有目录的安全性,防止应用信息的泄