Android 5.0 Toolbar 的学习使用

来源:互联网 发布:简单网络协议实现 编辑:程序博客网 时间:2024/06/08 18:42
参考来自:官方以及AigeStudio

在没有 Toolbar 出来之前我们都是使用的 ActionBar,但是 ActionBar 的可定制行太低,完全不能满足我们的App,在 ToolBar 之前 我们都是通过自定义 layout 来满足我们App的标题栏! 在5.0 以后 我们可以 通过ToolBar 来满足我们的标题栏,并且可以遵循 官方的 Material Design 的设计风格。下面就来看看如何使用 ToolBar,先上图看看效果:

使用 Toolbar 我们可以继承自 Activity 或者AppCompatActivity 两者其中一种即可!在 Toolbar 点进去我们可以看到 该类继承自 ViewGroup ,看上去就和我们自定义的View 是一样的 相当于就是自定义了 一个ToolBar,那么我们可以像自定义View 那样去使用了,是不是很方便啊.

在 xml 下我们开始 引用我们的 Toolbar
 <android.support.v7.widget.Toolbar        android:id="@+id/toolbar"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="?attr/colorPrimary"        android:paddingLeft="-20dp"        toolbar:popupTheme="@style/popupMenu"       >    </android.support.v7.widget.Toolbar>
在xml 里面我们既然引用了 ,那么就和平常我们一样 在代码中使用控件一样 给 find 出来。
  toolbar = (Toolbar) findViewById(R.id.toolbar);

在使用的过程中我们可以通过去 toolbar. 来看看 Toolbar 都有哪些方法,下面我列出我们基本要使用的方法:

   toolbar.setNavigationIcon(R.mipmap.ic_drawer_home);//设置左上角的图标        toolbar.setTitle("快银");//设置标题        toolbar.setTitleTextColor();//设置子标题        toolbar.setSubtitle("平台");//设置 标题的颜色        toolbar.setSubtitleTextColor();//设置 子标题的颜色        toolbar.setLogo(R.mipmap.ic_launcher);//设置 logo        toolbar.inflateMenu(R.menu.menu_main);//设置菜单的

我们可以通过提供的方法设置我们标题栏的点击事件

setNavigationOnClickListener() 这个方法是个左上角的图标来设置点击事件!在这里我就遇到了设置点击时间不起作用的坑,最终是因为我把点击事件放在了 setSupportActionBar(toolbar) 之前,点击事件才没有起作用。关于 setSupportActionBar() 这个的说明是说我们把 ToolBar当作ActionBar来使用了,既然我们当作ActionBar来使用,那么我们就可以使用ActionBar 应用的功能。另外在使用ToolBar 之前我们要把主题自带的 ActionBar 来给隐藏掉,这种我们使用系统的Them来隐藏掉,还可以使用代码来隐藏。系统主题隐藏:   android:theme="@style/Theme.AppCompat.NoActionBar">代码隐藏分为两种 1,继承 AppCompatActivity 就要在etContentView(setLayoutViewId())之前调用supportRequestWindowFeature(Window.FEATURE_NO_TITLE);2,继承自 Activity 就要在etContentView(setLayoutViewId())之前调用requestWindowFeature(Window.FEATURE_NO_TITLE)在xml 中使用Toolbar中遇到我们设置 属性竟然不起作用的坑,在属性中我们使用的是例如 :  android:navigationIcon="@mipmap/ic_drawer_home" 在我们跑到手机上一看,我的天我的icon 跑哪里去了呢 ,不可以思议啊竟然飞了,这可怎么办啊?我上面说过了 Toolbar 就像是一个自定义的View ,事实证明这句话是有道理的,在我们使用自定义View 的时候我们要子啊根节点加上这么一句 会订好的格式:xmlns:toolbar="http://schemas.android.com/apk/res-auto" 加上这句相当于是我们自己自定义的属性,既然是自定义的就要使用我们自己的了  理所当然 Toolbar 也是这样的。我们可以点到源码自己去看看。toolbar:navigationIcon="@mipmap/ic_drawer_home这样我们就在跑上去看一眼就好了,心情顿时飞起来了!就说到这里吧,这只是一个认识的开始。。。。。。。。。。。。

源码地址

0 0