設定應用程式列

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

您的應用程式現已推出基本動作列。根據預設,動作列包含應用程式名稱和溢位選單,後者一開始含有「Settings」項目。您可以按照「新增及處理動作」的說明,在動作列和溢位選單中加入更多動作。

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

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

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