分分钟教你学会 ToolBar 的使用(转)

转自:http://blog.csdn.net/itguangit/article/details/52042203

1.和平常一样,新建一个Moudle

  1. 在xml布局文件中使用 Toolbar 控件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context="com.example.test.MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        >

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

</RelativeLayout>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

3.Java代码中设置

注意

我们在使用 Toolbar 时候需要先隐藏掉系统原先的导航栏,网上很多人都说给Activity设置一个NoActionBar的Theme。但个人觉得有点小题大做了,所以这里我直接在BaseActivity中调用

supportRequestWindowFeature(Window.FEATURE_NO_TITLE)

去掉了默认的导航栏.

注意,我的BaseActivity是继承了AppCompatActivity的,如果是继承Activity就应该调用

requestWindowFeature(Window.FEATURE_NO_TITLE

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);

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

//        toolbar.setNavigationIcon(R.mipmap.ic_launcher);//设置导航栏图标
        toolbar.setLogo(R.mipmap.ic_launcher);//设置app logo
        toolbar.setTitle("Title");//设置主标题
        toolbar.setSubtitle("Subtitle");//设置子标题

        toolbar.inflateMenu(R.menu.activity_tool_bar);//设置右上角的填充菜单
        //点击事件
        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {

                switch (item.getItemId()){
                    case R.id.action_item1:
                        //........
                    case R.id.action_item2:
                        //........

                }

                return true;
            }
        });

    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

4.右上角的填充菜单文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    >

    <item
        android:id="@+id/action_search"
        android:icon="@mipmap/ic_action_search"
        android:title="搜索"
        app:showAsAction="ifRoom" />

    <!--<item-->
        <!--android:id="@+id/action_notification"-->
        <!--android:icon="@mipmap/ic_error_page"-->
        <!--android:title="通知"-->
        <!--app:showAsAction="ifRoom" />-->

    <item
        android:id="@+id/action_item1"
        android:title="item01"
        app:showAsAction="never" />

    <item
        android:id="@+id/action_item2"
        android:title="item_02"
        app:showAsAction="never" />

</menu>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • app:showAsAction=”ifRoom”

如果Toolbar 有足够控件就显示出来,没有就隐藏在下拉列表中

  • app:showAsAction=”never”

不管有没有足够空间,都不显示出来

  • 效果图

 

右上角三个点的图标是黑色的,替换成白色方法如下,

@mipmap/ic_menu_more_overflow 就是白色点点

actionOverflowButtonStyle 更改下拉菜单按钮的样式 
* styles.xml 中的 Theme.ToolBar.ZhiHu,给 Toolbar 设置Android:theme用的

<resources>

    ...
    ...

    <style name="Theme.ToolBar.ZhiHu" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="actionOverflowButtonStyle">@style/ActionButton.Overflow.ZhiHu</item>
    </style>

    <style name="ActionButton.Overflow.ZhiHu" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
        <item name="android:src">@mipmap/ic_menu_more_overflow</item>
    </style>

</resources>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • Toolbar 引用擦样式
 <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/color_0176da"
        android:theme="@style/Theme.ToolBar.ZhiHu">

    </android.support.v7.widget.Toolbar>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

扩展阅读

详情参考 http://www.codeceo.com/article/android-toolbar-develop.html

时间: 2024-08-06 21:56:39

分分钟教你学会 ToolBar 的使用(转)的相关文章

分分钟教你做出自己的新闻阅读APP

分分钟教你做出自己的新闻阅读APP 引子 曾经不小心发现了一些好的看新闻的网站,但是电脑又不是随身携带,因此想要下载一个这个网站的手机APP来看新闻,但是问题来了,这个网站根本没有做Android端!你说用手机浏览器来看?天,有些网站用手机浏览器来看又会出现好些个问题,比如说:广告太多,还有那令人厌恶的弹窗,更有些排版简直让人不忍直视有木有.因此,我萌生出一个自己打造一个新闻阅读器的APP的想法,毕竟以前也玩过Android的开发,虽然是菜鸟级别的,但是做出一个手机新闻阅读APP还是难不倒我的~

手把手教你学会 Emacs 定制

Table of Contents 1 前言 2 配置Emacs 2.1 设置界面 2.2 全屏以及最大化 2.3 设置周边 2.4 显示时间设置 2.5 设置日历 2.6 设置符合个人的操作习惯 2.7 其它小功能 2.8 绑定键设置 2.9 C/C++/JAVA编程模式 1 前言 说实话,emacs的迷人之处就是具有非常强的自主配置能力,你可以完全根据自己的个人习惯来设置它.就像我在下面罗列的那些lisp代码,你可以 尽情的改变F1,F2..等等键所对应的功能,也可以在编辑C/C++/jav

本文来自作者?余博伦?在?GiCa?上分享 「韭菜种四招教你学会甄别

Docker默认空间大小分为两个,一个是池空间大小,另一个是容器空间大小.池空间大小默认为:100G容器空间大小默认为是:10G所以修改空间大小也分为两个:这 如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之 如果你有了还要创建密码,gi会提示你是否需要覆盖(y n)?Y:确认????????N:取消 如图:生成如上图所示标识生成成功了.其存放路径为 在我理解,面向对象是向现实世界模型的自然延伸,这是一种"万物皆对象"的编程

PDF怎么转换成图片格式:手把手教你学会

PDF文件是一中安全性比较高的文件在办公中也是经常能够用到的,它不仅安全性高,而且也很难进行编辑,而图片格式确是一种很容易进行编辑的,想要将PDF转换成图片格式并非是一件难事,那么PDF怎么转换成图片格式,想知道的话就跟着下面的文章继续往下看吧,手把手教你学会.PDF怎么转换成图片格式?下面是PDF转换成图片的案例演示:借助软件:迅捷PDF转换器步骤一:首先先将迅捷PDF转换器下载到电脑中去,之后可双击运行软件步骤二:进入到软件的功能页面,可点击"PDF转成其他文件"点击下方的&quo

5分钟教你学会JavaScript正则表达式

正则表达式在实际开发过程中和技术面试过程中的重要性不言而喻,本文仅仅只是教你如何在几分钟之类学会正则表达式,对于它的原理及运行机制不做介绍. 第一:什么是正则 正则表达式是一种用来描述一定数量文本的模式,用来匹配相同规范样式的文本.在JavaScript中用RegExp对象表示正则表达式( 即Regular Eexpression),它是对字符串执行模式匹配的强大工具.我们可以参看W3C所给的说明. 第二:创建一个正则表达式 在JavaScript中创建正则表达式,有2种方式,隐式和显式创建. 

还在羡慕华为手机能当门禁卡?其实iPhone也可以,一招教你学会

在我们的生活中,很多人都喜欢用华为手机,因为带有NFC功能,不仅可以乘地铁刷公交,还能开自家小区的门禁.这也让很多iPhone用户羡慕不已,其实iPhone手机也可以当门禁卡,今天就来教大家如何添加.1.在iPhone手机上有一个钱包应用,我们首先点击进入,可以看到绑定的银行卡,以及添加的电子卡片,随后点击右上方的[+].2.接着我们点击底部的[扫描或添加卡],然后选择卡片的类型,这里我们选择交通卡,北京和上海都行.3.最后输入最低10元的金额,以及20元的可退服务费,我们只是为了获取一个虚拟的

教你学会眼镜度数的换算

美丽的眼睛通过视力测试不幸被近视的箭命中,于是需要在眼睛上按上两个近视片,那这个近视片需要多少度,很多人把它的换算交给了验光师,自己就清闲的等着眼镜配出来吧!可是你是否想过你的眼镜度数是怎么得出来的?为了美丽的形象,你让视光中心给你配了隐形眼镜,可是你是否疑惑两个眼镜度数怎么不一样呢?这里就涉及到度数换算,作为近视患者,学会换算应该作为一种常识. 专业验光后的度数是框架眼镜的配镜度数,如果要选择配戴隐形眼镜,则需要进行相应的换算.一般来说,近视或远视400度以下不需要换算,只有达到400度以上要

教你学会Linux/Unix下的vi文本编辑器

vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结. 首先,记住vi编辑器的两个模式:1.命令模式 2.编辑模式. 在一个UNIX/Linux的shell命令或者一个以斜杠(/).问号(?)或冒号(:)开始的vi命令后面用户需要键入回车键,而要切换到vi命令模式需要按Esc键.注意,以冒号(:)或者斜杠(/) 开始的vi命令会显示在屏幕底部,但其他命令都不会显示在屏幕上. 打开.写入和关闭文件(使用Enter键) vi file 打开文件名为

定教你学会上传图片

Q1:需要导入到包 需要的联系我,我发给你.(里面需要的包和文件确实有点多) layui,jquery 当然还要有images文件 序列化文件 lib里面 总图片: Q2:html文件(NewFile.html) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><link