操作栏最基本的形式就是在一个屏幕上显示活动的标题, ,在另一侧显示一个菜单。即使采用这种基本形式,应用栏也提供 并赋予 Android 应用一致的外观和风格。
所有使用默认主题的 activity 都有一个
ActionBar
作为应用
栏。通过各种方法将应用栏功能添加到原生 ActionBar
中
Android 版本。因此,原生 ActionBar
的行为会有所不同,
具体取决于设备搭载的 Android 版本。
另一方面,这些功能已添加到 AndroidX AppCompat 库的
Toolbar
,
这意味着这些功能可以在使用 AndroidX 库的设备上使用。
使用 AndroidX 库的 Toolbar
类实现 activity 的
应用栏。使用 AndroidX 库的工具栏会使应用的
在各种设备上保持一致的行为。
向 Activity 添加工具栏
以下步骤说明了如何将Toolbar
设置为 activity 的应用栏:
<ph type="x-smartling-placeholder">- </ph>
- 将 AndroidX 库添加到您的项目中,如 AndroidX 概览。
- 确保 activity 可以扩展
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- 在应用清单中,设置
<application>
元素,以使用 AppCompat 的某个NoActionBar
主题,如以下示例所示。使用其中一个主题可防止 应用使用原生ActionBar
类提供应用栏。<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- 向 activity 的布局添加一个
Toolbar
。例如,以下 布局代码会添加一个Toolbar
,并赋予其浮动外观 在活动上方:<androidx.appcompat.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
请参阅 Material Design 规范 了解有关应用栏高度的建议。
将工具栏放在 activity 的 layout,因为您使用的是 并将其显示为应用栏
- 在 activity 的
onCreate()
方法,调用 activity 的setSupportActionBar()
方法并传递 Activity 的工具栏,如以下示例所示。这个 方法将工具栏设置为 Activity 的应用栏。Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // The Toolbar defined in the layout has the id "my_toolbar". setSupportActionBar(findViewById(R.id.my_toolbar)) }
Java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); }
您的应用现在有了一个基本操作栏。默认情况下,操作栏包含 应用界面和一个溢出菜单,该菜单最初包含 Settings 菜单项。 您可以向操作栏和溢出菜单添加更多操作,如 添加和处理操作。
使用应用栏实用程序方法
将工具栏设置为 activity 的应用栏后,您就可以访问该实用程序
AndroidX 库提供的方法
ActionBar
类。您可以通过此方法执行一些有用的操作,例如隐藏和显示应用栏。
如需使用 ActionBar
实用程序方法,请调用 activity 的
getSupportActionBar()
方法。此方法返回对 AppCompat ActionBar
对象的引用。
获得该引用后,您就可以调用任何 ActionBar
方法
调整应用栏。例如,要隐藏应用栏,请调用
ActionBar.hide()
。