在最基本的形式中,動作列會在其中一側顯示活動的標題,另一側則顯示溢出式選單。即使是這種基本形式,應用程式列仍可為使用者提供實用資訊,並為 Android 應用程式提供一致的外觀和感受。
![顯示 Now in Android 應用程式中應用程式列的圖片](https://developer.android.google.cn/static/images/ui/notifications/actions_actionbar.png?authuser=19&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); }
您的應用程式現在已具有基本動作列。根據預設,動作列會包含應用程式名稱和溢出選單,其中最初會包含「Settings」項目。您可以按照「新增及處理動作」一文所述,在動作列和溢位選單中新增更多動作。
使用應用程式列公用程式方法
將工具列設為活動的應用程式列後,您就能存取 AndroidX 程式庫 ActionBar
類別提供的實用程式方法。您可以透過這種方式執行實用操作,例如隱藏及顯示應用程式列。
如要使用 ActionBar
公用程式方法,請呼叫活動的 getSupportActionBar()
方法。這個方法會傳回 AppCompat ActionBar
物件的參照。取得參照後,您可以呼叫任何 ActionBar
方法來調整應用程式列。舉例來說,如要隱藏應用程式列,請呼叫 ActionBar.hide()
。