>Toolbar是什么?大概说一下它的官方介绍。Toolbar是应用的内容的标准工具栏,`可以说是Actionbar的升级版`,两者不是独立关系,要使用Toolbar还是得跟ActionBar扯上关系的。相比Actionbar Toolbar最明显的一点就是变得很`自由,可随处放置`,因为它是作为一个`ViewGroup来定义使用的`,所以单纯使用ActionBar已经稍显过时了,它的一些方法已被标注过时。

步骤如下:

1.引入v7包,去除actionBar

     

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

    </style>

2.创建ToolBar的布局



    <?xml version="1.0" encoding="utf-8"?>

    <android.support.v7.widget.Toolbar

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:background="#ff0000">



    </android.support.v7.widget.Toolbar>



3.使用toolbar

    

    //布局中使用

    <include layout="@layout/include_toolbar"></include>

    //写代码

    mToolbar = (Toolbar) findViewById(R.id.toolbar);

    setSupportActionBar(mToolbar);//这个方法是在ActionBarActivity里面,对应的Activity需要继承actionBarActivity

全部代码如下:

style代码:

  1. <resources>
  2.  
  3. <!-- Base application theme. -->
  4. <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
  5. <!-- Customize your theme here. -->
  6. </style>
  7.  
  8. </resources>

2.创建ToolBar的布局

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <android.support.v7.widget.Toolbar
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width="match_parent"
  5. android:layout_height="wrap_content"
  6. android:background="#ff0000">
  7.  
  8. </android.support.v7.widget.Toolbar>

3.使用toolbar

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. tools:context="com.itydl.toolbar.MainActivity">
  9.  
  10. <include
  11. android:id="@+id/toobar"
  12. layout="@layout/include_toolbar"></include>
  13.  
  14. <TextView
  15. android:layout_width="wrap_content"
  16. android:layout_height="wrap_content"
  17. android:text="Hello World!"/>
  18. </LinearLayout>

4看主活动代码:

  1. package com.itydl.toolbar;
  2.  
  3. import android.os.Bundle;
  4. import android.support.v7.app.ActionBarActivity;
  5. import android.support.v7.widget.Toolbar;
  6.  
  7. public class MainActivity extends ActionBarActivity {
  8.  
  9. private Toolbar mToolbar;
  10.  
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15. initView();
  16. }
  17.  
  18. private void initView() {
  19. mToolbar = (Toolbar) findViewById(R.id.toobar);
  20.  
  21. //toobar替换actionbar
  22. setSupportActionBar(mToolbar);
  23. }
  24. }

接下来再加入测拉功能。在上边的基础上稍作修改就好了。

布局文件:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. tools:context="com.itydl.toolbar.MainActivity">
  9.  
  10. <!--引入toolbar-->
  11. <include
  12. android:id="@+id/toobar"
  13. layout="@layout/include_toolbar"></include>
  14.  
  15. <!--DrawerLayout加入测拉菜单-->
  16. <android.support.v4.widget.DrawerLayout
  17. android:id="@+id/main_drawer_drawerlayout"
  18. android:layout_width="match_parent"
  19. android:layout_height="match_parent">
  20.  
  21. <!--主界面,使用帧布局-->
  22. <FrameLayout
  23. android:layout_width="match_parent"
  24. android:layout_height="match_parent"
  25. android:background="#59cfbe">
  26.  
  27. </FrameLayout>
  28.  
  29. <!--左侧测拉界面,使用帧布局-->
  30. <FrameLayout
  31. android:layout_gravity="left"
  32. android:layout_width="match_parent"
  33. android:layout_height="match_parent"
  34. android:background="#5bcf59">
  35.  
  36. </FrameLayout>
  37.  
  38. </android.support.v4.widget.DrawerLayout>
  39. </LinearLayout>

主活动代码:

  1. package com.itydl.toolbar;
  2.  
  3. import android.os.Bundle;
  4. import android.support.v4.widget.DrawerLayout;
  5. import android.support.v7.app.ActionBarActivity;
  6. import android.support.v7.app.ActionBarDrawerToggle;
  7. import android.support.v7.widget.Toolbar;
  8.  
  9. public class MainActivity extends ActionBarActivity {
  10.  
  11. private Toolbar mToolbar;
  12. private DrawerLayout mDrawerLayout;
  13. private ActionBarDrawerToggle mToggle;
  14.  
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.activity_main);
  19. initView();
  20. initDrawerLayout();
  21. }
  22.  
  23. private void initDrawerLayout() {
  24. //加入DrawerLayout的步骤。
  25.  
  26. mToggle = new ActionBarDrawerToggle(this,mDrawerLayout, R.string.open,R.string.close);
  27.  
  28. //同步状态
  29. mToggle.syncState();
  30.  
  31. //设置监听
  32. mDrawerLayout.setDrawerListener(mToggle);
  33. }
  34.  
  35. private void initView() {
  36. mToolbar = (Toolbar) findViewById(R.id.toobar);
  37. //toobar替换actionbar
  38. setSupportActionBar(mToolbar);
  39.  
  40. //获取DrawerLayout布局
  41. mDrawerLayout = (DrawerLayout) findViewById(R.id.main_drawer_drawerlayout);
  42. }
  43.  
  44. }

运行程序:

Android5.0特性ToolBar的更多相关文章

  1. Android5.0特性阴影效果和裁剪

    阴影和剪裁 View的z属性 Material Design建议为了凸显布局的层次,建议使用阴影效果,并且Android L为了简化大家的工作,对View进行了扩展,能使大家非常方便的创建阴影效果: ...

  2. Android5.0新特性之——按钮点击效果动画(涟漪效果)

    Android5.0 Material Design设计的动画效果 RippleDrawable涟漪效果 涟漪效果是Android5.0以后的新特性.为了兼容性,建议新建drawable-v21文件夹 ...

  3. Android5.0新特性-Material Design

    概述 2014年,Google携Android5.X重装归来.全新的UI设计和更加优化的性能,令开发人员眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS.下载地址 htt ...

  4. Android5.0新特性:RecyclerView实现上拉加载更多

    RecyclerView是Android5.0以后推出的新控件,相比于ListView可定制性更大,大有取代ListView之势.下面这篇博客主要来实现RecyclerView的上拉加载更多功能. 基 ...

  5. Android5.0(lollipop)新特性介绍(一)

    今年6月的Google I/O大会上.Android L的初次见面我相信让会让非常多android粉丝有些小激动和小期待.当然作为开发人员的我来说,激动不言而喻,毕竟这是自08年以来改变最大的一个版本 ...

  6. 一个Activity掌握Android5.0新控件 (转)

    原文地址:http://blog.csdn.net/lavor_zl/article/details/51279386 谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常 ...

  7. Android5.0新控件

    谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种.  1. CardView(卡片视图) CardView顾名思义是卡片视图,它继承FrameLay ...

  8. Android5.0之Toobar的使用

    总体上来说,Toolbar的使用可以分为两个方面,一方面是将ToolBar当作ActionBar来用,另一方面就是将Toolbar当成一个单独的控件来用,不过到目前为止我见到的大部分情况都是把Tool ...

  9. Android -- Camera2(Android5.0)

    Camera2 Camera2是Android5.0中的其中一个新的特性,新的API.与原来的camera API相比,不同之处在于: 原生支持RAW照片输出 突发拍摄模式 制约拍照速度的不再是软件而 ...

随机推荐

  1. ubuntu16.04安装jdk1.8

    首先去Oracle官网下载JDK1.8的tar.gz压缩包. 然后下载下来的包的默认位置应该是在~/下载/下. 执行如下命令解压缩并安装JDK. cd ~/下载/ tar -zxvf jdk-8u16 ...

  2. 盒子浮动float

    一.float的基本规律 规律1: 标准流模型中的块级盒子,默认宽度100%: 而浮动的块级盒子,宽度不会自动伸展,而是由内容(文字.padding)撑开: 浮动后的行级元素,可以设置宽度高度等属性. ...

  3. MyBatis基础学习笔记--摘录

    1.MyBatis是什么? MyBatis源自于IBatis,是一个持久层框架,封装了jdbc操作数据库的过程,使得开发者只用关心sql语句,无需关心驱动加载.连接,创建statement,手动设置参 ...

  4. Opencv在mac系统的安装与试用

    1.在mac终端内,使用brew安装opencv3,这时我的opencv被安装到/usr/local/Cellar/opencv3/3.2.0内. 2.新建xcode 项目,选择command lin ...

  5. [LeetCode] Optimal Division 最优分隔

    Given a list of positive integers, the adjacent integers will perform the float division. For exampl ...

  6. keil应用小贴士:Use MicroLIB是干什么的

    在keil 建立ARM的工程时,其中有一项是选 use MicroLIB 查了查,得到了以下信息: microlib 是缺省 C 库的备选库. 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使 ...

  7. BZOJ4894 天赋

    Description 小明有许多潜在的天赋,他希望学习这些天赋来变得更强.正如许多游戏中一样,小明也有n种潜在的天赋,但有 一些天赋必须是要有前置天赋才能够学习得到的.也就是说,有一些天赋必须是要在 ...

  8. [HNOI2012]射箭

    Description 沫沫最近在玩一个二维的射箭游戏,如下图 1 所示,这个游戏中的 x 轴在地面,第一象限中有一些竖直线段作为靶子,任意两个靶子都没有公共部分,也不会接触坐标轴.沫沫控制一个位于( ...

  9. [USACO17FEB]Why Did the Cow Cross the Road II S

    题目描述 The long road through Farmer John's farm has  crosswalks across it, conveniently numbered  (). ...

  10. HNOI2018 滚粗记

    day0 说好了不复习,于是复习了一下配置,没想到一下就记住了,咋不退役去搞英语竞赛捏 皇室一波攒RP,chicken chicken一波攒RP day1 机子坏了,换到了最后面,但这个时候已经 \( ...