在最基本的格式中,動作列會顯示活動標題 另一個則是溢位選單就算是基本形式,應用程式列也能提供 為使用者提供實用的資訊,並為 Android 應用程式提供一致的外觀和風格。
使用預設主題的所有活動都有
ActionBar
應用程式
。應用程式列功能會新增至原生 ActionBar
,以及各種
Android 版本。因此,原生 ActionBar
的行為會有所不同
會視裝置使用的 Android 版本而定。
另一方面,功能會新增至 AndroidX AppCompat 程式庫的
Toolbar
,
也就是說,這些功能只有在使用 AndroidX 程式庫的裝置上才能使用。
使用 AndroidX 程式庫的 Toolbar
類別實作活動
。使用 AndroidX 程式庫的工具列,
行為在各種裝置上保持一致。
在活動中新增工具列
下列步驟說明如何將Toolbar
設為活動的應用程式列:
- 按照 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()
。