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>
这样就实现了上图的效水果。

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

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

原文地址:https://www.cnblogs.com/gcczhongduan/p/4647301.html