📅  最后修改于: 2023-12-03 14:59:17.011000             🧑  作者: Mango
在 Android 应用开发中,经常会使用到三个类:AppBar、ActionBar 和 Toolbar。虽然这三个类都用于显示标题和操作菜单,但每个类的用法和行为略有不同。本文将简要介绍这三个类的区别。
AppBar 是 Android 设计库中的一个布局组件,它由两个主要部分组成:AppBarLayout 和 Toolbar。AppBarLayout 通常用于包含 Toolbar 组件和其他和该组件相关的视图。Toolbar 是 AppBar 中用于显示标题和操作菜单的核心组件。
AppBar 可以很方便地实现诸如折叠式标题、可伸缩的工具栏等复杂界面效果。AppBar 还可以在应用程序的不同视图之间自动切换,例如在列表视图中显示选项菜单,在详情视图中显示复杂操作按钮。
示例代码:
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:title="My Title"
app:menu="@menu/my_menu" />
</com.google.android.material.appbar.AppBarLayout>
ActionBar 是 Android 操作栏的经典实现。它位于 Activity 窗口的顶部,并提供应用程序的标题和一套操作按钮。ActionBar 应该被谨慎使用,因为它已经被标记为过时的 API。在许多情况下,AppBar 可以取代 ActionBar 的作用。
示例代码:
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("My Title");
actionBar.setSubtitle("My Subtitle");
Toolbar 是一个可定制化的、可扩展的 View 组件,它不包含任何预定义的用户界面元素。它不像 ActionBar,只能放置在 Activity 的顶部。Toolbar 可以放置在任何你想放置的位置,甚至是在其他布局组件中嵌套使用。Toolbar 可以像其他任何 View 组件一样被定制和扩展。
示例代码:
<Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:title="My Title"
app:subtitle="My Subtitle"
app:menu="@menu/my_menu" />
三个类都是用于显示标题和操作菜单,但区别在于,AppBar 是 Android 设计库中的一个布局组件,可以实现诸如折叠式标题、可伸缩的工具栏等复杂界面效果;ActionBar 是 Android 操作栏的经典实现,已被标记为过时的 API;Toolbar 是一个可定制化的、可扩展的 View 组件,可以放置在任何你想放置的位置。