ToolBar的使用
一、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的使用相关推荐
- View requires API level 21 (current min is 15): Toolbar
第一种情况: 在布局文件报错,查看错误提示View requires API level 21 (current min is 15): <Toolbar> 这个说要求要api版本为21 ...
- 安卓Design包之AppBar和Toolbar的联用
前面讲了Design包的的CoordinatorLayout和SnackBar的混用,现在继续理解Design包的AppBar; AppBarLayout跟它的名字一样,把容器类的组件全部作为AppB ...
- 久未更 ~ 一之 —— 关于ToolBar
很久没更博客了,索性开一个久未更 系列 > > > > > 久未更 系列一:关于ToolBar的使用(后续补充) 1 //让 ToolBar 单独使用深色主题 使得 to ...
- 如何在ToolBar中显示文字和图标,自定义图标大小,并和MenuItem关联
要注意以下几个方面,先后顺序未必正确,有可能多设几次 1.设置ToolBar可以显示文字 ToolBar.ShowCaption := True; 2.设置ToolButton大小 ImageList ...
- mfc---手动给toolbar按钮添加消息View中
手动给toolbar按钮添加消息View中: .h: afx_msg void OnButtonBG(); .cpp: ON_COMMAND(ID_BUTTON_BG,OnButtonBG) .cpp ...
- Coolite Toolkit学习笔记六:常用控件Accordion、ToolBar、ToolTip
一.Accordion控件 Accordion的功能非常适用,使用很简单,轻轻松松的就可以构建一个可折叠的界面展示应用效果.相信大多数做ASP.NET开发的朋友都使用过ASP.NET AJA ...
- Android的ToolBar
ToolBar比ActionBar更加可控,自由.因此,Google 逐渐使用ToolBar来代替ActionBar. 使用ToolBar 1.要引入appCompat_v7支持 2.主题设置为NoA ...
- android tab 悬停效果代码,Android 仿腾讯应用宝 之 Toolbar +Scroolview +tab滑动悬停效果...
Android 仿腾讯应用宝 之 Toolbar +Scroolview +tab滑动悬停效果 来源:互联网 作者:佚名 时间:2015-02-10 15:36 Android 仿腾讯应用宝 之 To ...
- CoordinatorLayout、AppBarLayout、Toolbar使用详解
又到周末了,小编在这里祝大家周末愉快哦,android开发的童鞋们我们交流学习机会又来啦,今天跟大家交流一下我们常用的标题栏Toolbar的使用,并且配合一些Material Design风格的其他控 ...
- 001.android初级篇之ToolBar
官方的最新support library v7中提供了新的组件ToolBar,用来替代之前的ActionBar,实现更为弹性的设计在 material design 也对之做了名称的定义:App ba ...
最新文章
- 人脸服务器如何与门禁系统对接,人脸识别门禁系统终端设备接口说明
- 2017年软件工程第四次作业-4每周例行报告
- decimal函数python_decimal数据类型
- 创新技术重塑未来物联网
- Apache并发处理模块
- Linux如何建立用户(组)及调整用户(组)属性(案列+详细指令)
- 信息系统项目管理师(高级)考试大纲
- 地理信息系统概论_2021考研专业课地理信息系统概论(黄杏元版)知识点总结(五)...
- 年度调薪一般涨多少_涨了!长沙各小区房价曝光!快来看看你的房子涨了多少钱...
- 华为盒子m330能生鸿蒙吗,不仅能看片 教你怎么玩转华为M330盒子
- 西门子PLC S7 200 SMART 没有触摸屏的仿真
- NLTK文本分割器是如何工作的
- 无中介租房搜房工具 V1.0
- 电视android怎么连接手机助手下载,手机怎么连到电视上?
- iOS生产力之小工具合集
- 2021年计算机考研408操作系统真题(客观题)
- Pycharm常用快捷键大全【快查字典版】
- c语言经典案例 俄罗斯方块,C语言实现俄罗斯方块经典游戏课程设计
- ibm电脑服务器郑州维修,郑州IBM ThinkPad笔记本芯片级维修中心
- 广告投放方案-精准广告投放方案应该怎么做?