Android学习笔记四十四之Actionbar和Toolbar

这一篇我们介绍两个相似的控件,分别是Actionbar和Toolbar。

Actionbar

  Actionbar是Android3.0之后的一个重要的交互元素,Actionbar位于Activity的顶部,用于显示图标、菜单、标题,广泛用于View的交互、导航等功能。在Android3.0之后,Actionbar是默认添加的,只要你新建的Activity继承于AppCompatActivity,Actionbar是默认添加的。

我们看一下theme主题配置文件中的样式,图片来源于网络

Android3.0是默认添加Actionbar的,我们讲一下Actionbar的移除

Actionbar的移除

  1. 在Activity的属性中设置主题风格为NoTitleBar

    例如:<activity android:theme="@android:style/Theme.NoTitleBar">
    
  2. 在代码中修改,通过在代码中调用下面一句代码,可以隐藏Actionbar

    getSupportActionBar().hide();
    
  3. 注意的是:这一句是当前的Activity继承与AppcompatActivity的时候,如果是直接继承于Activity的话,需要在setContent()之前调用:

    requestWindowFeature(Window.FEATURE_NO_TITLE)
    

介绍完Actionbar的添加和移除,下面我们来介绍一下Actionbar的使用

Actionbar的使用

1、修改Actionbar的样式

  我们可以在代码中,通过调用getSupportActionBar()获取到Actionbar实例对象,然后通过相应的方法设置一些属性,Actionbar的属性设置方法有:

  • show()方法:显示Actionbar

  • setTitle(CharSequence title)方法:设置Actionbar的标题,重载方法有:setTitle(int resId)

  • setSubtitle(CharSequence subtitle)方法:设置Actionbar的字幕,重载方法有:setSubtitle(int resId)

  • setSplitBackgroundDrawable(Drawable d)方法:设置Actionbar的分隔背景

  • setStackedBackgroundDrawable(Drawable d)方法:设置Actionbar的重叠背景

  • setLogo(Drawable logo)方法:设置Actionbar的logo,重载方法是:setLogo(int resId)

  • setIcon(Drawable icon)方法:设置Actionbar的icon,重载方法是:setIcon(int resId)

  • setHomeButtonEnabled(boolean enabled)方法:设置是否允许返回按钮

  • setHomeAsUpIndicator(Drawable indicator)方法:设置显示一个返回图片

  • setHomeActionContentDescription(CharSequence description)方法,当允许的时候,设置返回上一个Activity的描述信息,重载方法是:setHomeActionContentDescription(int resId)

  • setHideOnContentScrollEnabled(boolean hideOnContentScroll)方法:设置在内容滚动的是时候是否显示Actionbar

  • setDisplayShowTitleEnabled(boolean showTitle)方法:设置是否显示标题

  • setDisplayUseLogoEnabled(boolean useLogo)方法:设置是否显示logo

  • setDisplayShowHomeEnabled(boolean showHome)方法:设置是否显示返回

  • setDisplayShowCustomEnabled(boolean showCustom)方法:设置是否显示一个自定义View

  • setDisplayOptions(int options)方法:设置显示的选项

  • setDisplayOptions(int options, int mask)方法:设置选中的选项

  • setCustomView(View view)方法:设置自定义的View,重载:setCustomView(View view, ActionBar.LayoutParams layoutParams)

  • setBackgroundDrawable(Drawable d)方法:设置背景

  • removeOnMenuVisibilityListener(ActionBar.OnMenuVisibilityListener listener)方法:移除一个可见的菜单时的监听

  • hide()方法:隐藏Actionbar

  • getTitle()方法:获取标题

简单的介绍一下Actionbar的常用方法,我们获取到Actionbar的实例之后可以调用这些方法去设置相应的属性,这里就不在做详细的代码演示了

2、添加item和overflow

将Actionbar中所有的ActionItem定义在menu中,主要讲item的几个属性:

  • title属性:设置标题

  • icon属性:设置图标

  • showAsAction属性:设置Item的显示方式,有几个值可以选择:ifRoom,当有4个或者4个以上的时候显示在overflow里面;always,总是显示所有的item;never,不会显示;withText,尽可能显示,可能显示不全;collapseActionView,折叠在一个按钮里面,点击按钮会显示,一般与ifRoom一起使用。

下面我们用一个例子讲解一下:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值