appbar,toolbar,actionbar之间的确切区别是什么?什么时候专门使用它们?

Gru*_*Cat 45 android android-actionbar android-toolbar android-appbarlayout

之间有什么准确的区别appbar,Toolbar,Actionbar?什么时候专门使用它们?我试着找到它们,但它让我感到困惑,所以任何好友都可以向我解释它们之间的确切区别以及何时使用它们或者这是单个组件的同名吗?

Nil*_*hod 27

  1. Toolbartoolbar应用程序内容中使用 的标准.

A Toolbar是在应用程序布局中使用的操作栏的概括.虽然动作栏传统上是由框架控制的Activity的不透明窗口装饰的一部分,但是Toolbar可以将a放置在视图层次结构中的任何任意嵌套级别.应用程序可以选择Toolbar使用该setActionBar()方法将a指定为Activity的操作栏.

Toolbar支持更集中的功能集ActionBar.从头到尾,a toolbar可能包含以下可选元素的组合:

  • 导航按钮.这可能是应用程序选择的向上箭头,导航菜单切换,关闭,折叠,完成或其他字形.此按钮应始终用于访问Toolbar其所指示内容的容器内的其他导航目标,或以其他方式保留当前上下文所表示的Toolbar.如果设置,导航按钮在工具栏的最小高度内垂直对齐.

  • 品牌徽标图像.这可以延伸到杆的高度并且可以任意宽.

  • 标题和副标题.标题应该是工具栏在导航层次结构中的当前位置以及其中包含的内容的路标.字幕(如果存在)应指示有关当前内容的任何扩展信息.如果应用使用徽标图片,则应强烈考虑省略标题和副标题.

  • 一个或多个自定义视图.应用程序可能会添加任意子视图Toolbar.它们将出现在布局中的这个位置.如果子视图Toolbar.LayoutParams指示重力值为CENTER_HORIZONTAL,则在测量完所有其他元素后,视图将尝试在工具栏中剩余的可用空间内居中.动作菜单.操作菜单将针对产品的结尾添加Toolbar一些频繁,重要或典型的操作以及用于其他操作的可选溢出菜单.如果设置,操作按钮在工具栏的最小高度内垂直对齐.

2. Actionbar 操作栏是每个屏幕顶部的专用区域,通常在整个应用程序中保持不变.

它提供了几个关键功能:

  • 以可预测的方式使重要操作变得突出和可访问(例如"新建"或"搜索").

  • 支持应用内的一致导航和视图切换.

  • 通过为很少使用的操作提供操作溢出来减少混乱.

  • 提供专用空间,为您的应用提供身份.

3. Appbar 应用栏,也称为操作栏,是应用活动中最重要的设计元素之一,因为它提供了用户熟悉的视觉结构和交互元素.使用应用栏可使您的应用与其他Android应用保持一致,从而使用户能够快速了解​​如何操作您的应用并获得出色的体验.应用栏的主要功能如下:

  • 一个专用空间,用于为您的应用提供身份并指示用户在应用中的位置.

  • 以可预测的方式访问重要操作,例如搜索.

  • 支持导航和视图切换(使用选项卡或下拉列表).

编辑

Action bar传统上,An 是由框架控制的Activity opaque窗口装饰的一部分,但是工具栏可以放置在视图层次结构中的任何嵌套级别.在toolbar提供了比功能更ActionBar.A Toolbar可以包含从头到尾的元素组合.

重要的提示:

Toolbar’s比...更灵活ActionBar.我们可以轻松修改其颜色,大小和位置.我们还可以在其中添加标签,徽标,导航图标和其他视图.在Material Design中,Android更新了AppCompat支持库,以便我们可以Toolbar’s在运行API Level 7及更高版本的设备中使用...

  • 您的帖子虽然详细,但却证实了 Android 开发团队所造成的混乱,例如:“应用栏,称为操作栏”。我觉得你用三个名字大量描述了同一个概念,这不是你的错,事情就是这样。你所说的一切工具栏都可以比操作栏做得更多,我在 2013 年作为应用程序开发人员就使用了操作栏。 (3认同)

Val*_*kov 5

App bar设计中的一个组件名称ToolbarActionBar类是关于实现的。所以问题是 - Toolbar 和 ActionBar 之间有什么区别。

简而言之,ActionBar是应用栏组件的初步实现,它绑定到 Activity。最初它甚至不是 Activity 布局的一部分,而是由系统呈现的装饰。

后来引入了Toolbar,不像ActionBar,Toolbar不绑定Activity,你可以把它放在你的布局里面你想要的任何地方,它有一个更清晰的API。为了使 Toolbar 的采用更容易,AppCompatActivity类中有setSupportActionBar()方法,因此您可以通过 ActionBar API 使用 Toolbar,这是很多混淆的来源。

那么,您应该在现代 Android 应用程序中使用哪个类?毫无疑问 - Toolbar ,或者来自MDC 库的更高级版本- MaterialToolbar。但正如我上面提到的,工具栏可以用作独立的解决方案,也可以使用setSupportActionBar()方法设置为活动操作栏。看看这个问题不再需要 setSupportActionbar 了吗?以及查找更多详细信息的答案


Ger*_*son 1

我想说它们都是应用程序屏幕上端的相同容器视图... Toolbar是定义此框功能的 Java 类的名称,但在 Android 开发人员网站上他们将其称为App Bar。据我所知,它是一个增强的操作栏,主要在Material Design之前使用。


编辑#1:顺便说一句,我建议在创建应用程序时使用应用程序栏教程,因为这是推荐的方法。