在最基本的介面中,動作列會在一側顯示活動的標題,另一側顯示溢位選單。即使是這種基本格式,應用程式列仍會為使用者提供實用資訊,並讓 Android 應用程式擁有一致的外觀和風格。
![這張圖片顯示 Now in Android 應用程式中的應用程式列](https://developer.android.com/static/images/ui/notifications/actions_actionbar.png?authuser=7&hl=zh-tw)
所有使用預設主題的活動都有 ActionBar
做為應用程式列。許多 Android 版本都會在原生 ActionBar
中加入應用程式列功能。因此,原生 ActionBar
的行為會因裝置使用的 Android 版本而異。
另一方面,功能會新增至 AndroidX AppCompat 程式庫版本的 Toolbar
,這表示使用 AndroidX 程式庫的裝置也能使用這些功能。
因此,請使用 AndroidX 程式庫的 Toolbar
類別,實作活動的應用程式列。使用 AndroidX 程式庫的工具列,即可讓各種裝置的使用者行為保持一致。
在活動中新增工具列
以下步驟說明如何將Toolbar
設為活動的應用程式列:
- 按照 AndroidX 總覽所述,將 AndroidX 程式庫新增至專案。
- 確認活動擴充
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- 在應用程式資訊清單中,將
<application>
元素設為使用 AppCompat 的NoActionBar
主題,如以下範例所示。使用其中一個主題會禁止應用程式使用原生ActionBar
類別提供應用程式列。<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- 在活動的版面配置中加入
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 規格。
請將工具列置於活動版面配置的頂端,因為您將工具列當做應用程式列使用。
- 在活動的
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()
。