設定應用程式列

試試 Compose
Jetpack Compose 是 Android 推薦的 UI 工具包。瞭解如何在 Compose 中新增元件。

最基本的動作列會在其中一側顯示活動的標題,另一側則顯示溢位選單。即使是這種基本形式,應用程式列也能為使用者提供實用資訊,並讓 Android 應用程式呈現一致的外觀和風格。

圖片:顯示 Now in Android 應用程式的應用程式列
圖 1:「Now in Android」應用程式中的應用程式列,內含動作圖示。

使用預設主題的所有活動都會將 ActionBar 設為應用程式列。應用程式列功能會新增至各種 Android 版本的原生 ActionBar。因此,原生 ActionBar 的行為會因裝置使用的 Android 版本而異。

另一方面,AndroidX AppCompat 程式庫的 Toolbar 版本會新增功能,因此使用 AndroidX 程式庫的裝置也能使用這些功能。

因此,請使用 AndroidX 程式庫的 Toolbar 類別,實作活動的應用程式列。使用 AndroidX 程式庫的工具列,可確保應用程式在各種裝置上都能維持一致的行為。

在活動中新增工具列

下列步驟說明如何將 Toolbar 設為活動的應用程式列:
  1. 如「AndroidX 總覽」一文所述,將 AndroidX 程式庫新增至專案。
  2. 請確認活動擴充 AppCompatActivity

    Kotlin

    class MyActivity : AppCompatActivity() {
      // ...
    }

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. 在應用程式資訊清單中,將 <application> 元素設為使用 AppCompat 的 NoActionBar 主題,如下列範例所示。使用其中一個主題可防止應用程式使用原生 ActionBar 類別提供應用程式列。
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. 在活動的版面配置中加入 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 規格」。

    將工具列放在活動的版面配置頂端,因為您要將工具列當做應用程式列使用。

  5. 在活動的 onCreate() 方法中,呼叫活動的 setSupportActionBar() 方法並傳遞活動的工具列,如下列範例所示。這個方法會將工具列設為活動的應用程式列。

    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);
    }

您的應用程式現在有基本動作列。根據預設,動作列會包含應用程式名稱和溢位選單,其中最初包含「設定」項目。如要將更多動作新增至動作列和溢位選單,請參閱「新增及處理動作」。

使用應用程式列公用程式方法

將工具列設為活動的應用程式列後,您就能存取 AndroidX 程式庫 ActionBar 類別提供的公用程式方法。這種方法可讓您執行實用操作,例如隱藏及顯示應用程式列。

如要使用 ActionBar 公用程式方法,請呼叫活動的 getSupportActionBar() 方法。這個方法會傳回 AppCompat ActionBar 物件的參照。取得參照後,您就可以呼叫任何 ActionBar 方法來調整應用程式列。舉例來說,如要隱藏應用程式列,請呼叫 ActionBar.hide()