android3.0工具栏,Android中的工具栏(ActionBar和ToolBar)

ActionBar和ToolBarAction Bar是Android 3.0引入的导航栏功能,然而到5.0的时候,又推出了ToolBar,实际上这两个可以理解为同一个东西,ToolBar是对ActionBar的升级,使用起来也基本是一样的。只是因为ActionBar在实际使用过程中的各种问题,才推出了ToolBar来接替ActionBar。ActionBar通常翻译为操作栏,而到了ToolBar...
摘要由CSDN通过智能技术生成

ActionBar和ToolBar

Action Bar是Android 3.0引入的导航栏功能,然而到5.0的时候,又推出了ToolBar,实际上这两个可以理解为同一个东西,ToolBar是对ActionBar的升级,使用起来也基本是一样的。只是因为ActionBar在实际使用过程中的各种问题,才推出了ToolBar来接替ActionBar。ActionBar通常翻译为操作栏,而到了ToolBar则翻译为工具栏,这里我们统称为工具栏。

添加和隐藏工具栏

在Toolbar引入之前,添加ActionBar是通过Theme来实现的,在Manifest文件中指定Application或者Activity的Theme为Theme.Holo或者它的子类,运行以后ActionBar会自动添加进来。移除ActionBar也可以通过指定theme的方式,设置为Theme.Holo.NoActionBar。或者使用动态方式,先获取到ActionBar,然后设置隐藏

ActionBar actionBar = getActionBar();

actionBar.hide();

ToolBar的引入之后,Android已经不推荐我们这么操作了。应该采用ToolBar的方式来管理工具栏

为了能更好的向下兼容,官方推荐我们使用 v7 appcompat 来添加和管理ToolBar。添加ToolBar的步骤如下:

按照支持库设置中所述向您的项目添加 v7 appcompat 支持库。

确保 Activity 可以扩展 AppCompatActivity:

public class MyActivity extends AppCompatActivity {

// ...

}

注:请为您应用中每个使用 Toolbar 作为应用栏的 Activity 进行此更改。

在应用清单中,将 元素设置为使用 appcompat 的其中一个 NoActionBar 主题。使用这些主题中的一个可以防止应用使用原生 ActionBar 类提供应用栏。例如:

android:theme="@style/Theme.AppCompat.Light.NoActionBar"

/>

到这里为止,所做的工作是确保Activity中不包含默认的ActionBar,否则会引起崩溃。如果想保留theme,而这个theme又是包含ActionBar的,可以在Activity中调用requestWindowFeature(Window.FEATURE_NO_TITLE);,如果是继承在AppCompatActivity,调用supportRequestWindowFeature(Window.FEATURE_NO_TITLE),这样就可以去掉theme中自带的ActionBar了

向 Activity 的布局添加一个 Toolbar。例如,以下布局代码可以添加一个 Toolbar 并赋予其浮动在 Activity 之上的外观:

< android.support.v7.widget.Toolbar

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值