Android 5.0 Toolbar 的学习使用

参考来自:官方以及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
这样我们就在跑上去看一眼就好了,心情顿时飞起来了!
就说到这里吧,这只是一个认识的开始。。。。。。。。。。。。

源码地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值