一、ToolBar简单使用

1、定义style,隐藏app的ActionBar,并在manifest中,指定application的主题为刚刚定义的style

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item> </style><style name="AppTheme.NoActionBar"><item name="windowActionBar">false</item><item name="windowNoTitle">true</item></style>
android:theme="@style/AppTheme.NoActionBar"

2、在布局中添加ToolBar控件,控件全称为:android.support.v7.widget.Toolbar

 <android.support.v7.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:background="?attr/colorPrimary" />
  • 注意:需要添加design依赖包:
compile 'com.android.support:design:26.0.0-alpha1'

3、在Activity中声明ToolBar,使用setSupportActionBar()方法设定,Toolbar即能取代原本的ActionBar 了

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

二、ToolBar属性设置

1、代码设置ToolBar

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setLogo(R.drawable.good_icon);//设置logo
toolbar.setTitle("我的淘宝");//设置主标题
toolbar.setSubtitle("应有尽有");//设置副标题
setSupportActionBar(toolbar);
//getSupportActionBar().setDisplayHomeAsUpEnabled(true);//设置系统Home按钮,必须放在setSupportActionBar(toolbar);语句后
toolbar.setNavigationIcon(R.drawable.head_btn_back_white);//设置左边按钮图标
toolbar.setContentInsetStartWithNavigation(0);//左按钮图标和标题默认有16dp的间距,去掉这个间距,如果没有左图标,可直接设置toolbar属性app:contentInsetStart="0dp",如果有左图标,则设置属性不好用,需要调用方法setContentInsetStartWithNavigation(0)
toolbar.setNavigationOnClickListener(new View.OnClickListener() {//左图标点击事件@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "back", Toast.LENGTH_SHORT).show();}
});

2、在布局文件中设置ToolBar的属性

android:background="?attr/colorPrimary"   设置toolbar背景色,与app主题相同

app:contentInsetStart="0dp"   设置左图标与主标题间距为0

app:subtitleTextColor="@color/white"    设置主标题颜色

app:titleTextColor="@color/white"    设置副标题颜色

三、ToolBar常见问题解决

1、menu菜单三个点的颜色

设置menu收起图标颜色,就是那三个点的图标 默认的如果使用 light style 就是黑色的,如果使用 dark style 就是白色的。 如何能够自定义颜色?

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item><!-- 添加这一句,即可改变图标的颜色--><item name="android:textColorSecondary">#ffffff</item></style>

2、一般情况下,点击menu的按钮,弹出的popwindow会覆盖在toolbar上,不美观,如图:

如何能够让popwindow在toolbar下方显示呢?

    <style name="OverflowMenuStyle" parent="Widget.AppCompat.Light.PopupMenu.Overflow"><item name="overlapAnchor">false</item>  <!--设置不覆盖锚点--></style><style name="ToolbarPopupTheme" parent="@style/ThemeOverlay.AppCompat.Light"><item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item></style>

然后在toolbar中设置 app:popupTheme="@style/ToolbarPopupTheme"

~~~~~~~~~~~~~ 学习笔记,欢迎交流 ~~~~~~~~~~~~~

ToolBar的使用相关推荐

  1. View requires API level 21 (current min is 15): Toolbar

    第一种情况: 在布局文件报错,查看错误提示View requires API level 21 (current min is 15): <Toolbar> 这个说要求要api版本为21 ...

  2. 安卓Design包之AppBar和Toolbar的联用

    前面讲了Design包的的CoordinatorLayout和SnackBar的混用,现在继续理解Design包的AppBar; AppBarLayout跟它的名字一样,把容器类的组件全部作为AppB ...

  3. 久未更 ~ 一之 —— 关于ToolBar

    很久没更博客了,索性开一个久未更 系列 > > > > > 久未更 系列一:关于ToolBar的使用(后续补充) 1 //让 ToolBar 单独使用深色主题 使得 to ...

  4. 如何在ToolBar中显示文字和图标,自定义图标大小,并和MenuItem关联

    要注意以下几个方面,先后顺序未必正确,有可能多设几次 1.设置ToolBar可以显示文字 ToolBar.ShowCaption := True; 2.设置ToolButton大小 ImageList ...

  5. mfc---手动给toolbar按钮添加消息View中

    手动给toolbar按钮添加消息View中: .h: afx_msg void OnButtonBG(); .cpp: ON_COMMAND(ID_BUTTON_BG,OnButtonBG) .cpp ...

  6. Coolite Toolkit学习笔记六:常用控件Accordion、ToolBar、ToolTip

    一.Accordion控件      Accordion的功能非常适用,使用很简单,轻轻松松的就可以构建一个可折叠的界面展示应用效果.相信大多数做ASP.NET开发的朋友都使用过ASP.NET AJA ...

  7. Android的ToolBar

    ToolBar比ActionBar更加可控,自由.因此,Google 逐渐使用ToolBar来代替ActionBar. 使用ToolBar 1.要引入appCompat_v7支持 2.主题设置为NoA ...

  8. android tab 悬停效果代码,Android 仿腾讯应用宝 之 Toolbar +Scroolview +tab滑动悬停效果...

    Android 仿腾讯应用宝 之 Toolbar +Scroolview +tab滑动悬停效果 来源:互联网 作者:佚名 时间:2015-02-10 15:36 Android 仿腾讯应用宝 之 To ...

  9. CoordinatorLayout、AppBarLayout、Toolbar使用详解

    又到周末了,小编在这里祝大家周末愉快哦,android开发的童鞋们我们交流学习机会又来啦,今天跟大家交流一下我们常用的标题栏Toolbar的使用,并且配合一些Material Design风格的其他控 ...

  10. 001.android初级篇之ToolBar

    官方的最新support library v7中提供了新的组件ToolBar,用来替代之前的ActionBar,实现更为弹性的设计在 material design 也对之做了名称的定义:App ba ...

最新文章

  1. 人脸服务器如何与门禁系统对接,人脸识别门禁系统终端设备接口说明
  2. 2017年软件工程第四次作业-4每周例行报告
  3. decimal函数python_decimal数据类型
  4. 创新技术重塑未来物联网
  5. Apache并发处理模块
  6. Linux如何建立用户(组)及调整用户(组)属性(案列+详细指令)
  7. 信息系统项目管理师(高级)考试大纲
  8. 地理信息系统概论_2021考研专业课地理信息系统概论(黄杏元版)知识点总结(五)...
  9. 年度调薪一般涨多少_涨了!长沙各小区房价曝光!快来看看你的房子涨了多少钱...
  10. 华为盒子m330能生鸿蒙吗,不仅能看片 教你怎么玩转华为M330盒子
  11. 西门子PLC S7 200 SMART 没有触摸屏的仿真
  12. NLTK文本分割器是如何工作的
  13. 无中介租房搜房工具 V1.0
  14. 电视android怎么连接手机助手下载,手机怎么连到电视上?
  15. iOS生产力之小工具合集
  16. 2021年计算机考研408操作系统真题(客观题)
  17. Pycharm常用快捷键大全【快查字典版】
  18. c语言经典案例 俄罗斯方块,C语言实现俄罗斯方块经典游戏课程设计
  19. ibm电脑服务器郑州维修,郑州IBM ThinkPad笔记本芯片级维修中心
  20. 广告投放方案-精准广告投放方案应该怎么做?

热门文章

  1. GCC编译器常用命令使用
  2. 从零开始的人工智能学习(序)
  3. PHPCMS_数据库配置
  4. JAVA位运算符的使用
  5. 微软的可疑更新DhMachineSvc.exe
  6. JavaScript本地存储
  7. 刻录文件到光盘中(有word,Excel,图片等等)
  8. 如何解决Chrome无法访问ftp的问题
  9. 地图找房(五)01——移动小区到地图中心
  10. 2021-06-25kali更新火狐教程转