Thiết lập thanh ứng dụng

Thử cách Compose
Jetpack Compose là bộ công cụ giao diện người dùng được đề xuất cho Android. Tìm hiểu cách thêm các thành phần trong Compose.

Ở dạng cơ bản nhất, thanh thao tác sẽ hiển thị tiêu đề cho hoạt động ở một bên và một trình đơn tràn ở bên còn lại. Ngay cả ở dạng cơ bản này, thanh ứng dụng cũng cung cấp thông tin hữu ích cho người dùng và mang đến giao diện nhất quán cho các ứng dụng Android.

Hình ảnh minh hoạ thanh ứng dụng trong ứng dụng Now in Android
Hình 1. Một thanh ứng dụng có biểu tượng thao tác trong ứng dụng "Now in Android".

Tất cả các hoạt động sử dụng giao diện mặc định đều có ActionBar làm thanh ứng dụng. Các tính năng của thanh ứng dụng được thêm vào ActionBar gốc trong nhiều bản phát hành Android. Do đó, ActionBar gốc sẽ hoạt động khác nhau tuỳ thuộc vào phiên bản Android mà thiết bị đang sử dụng.

Mặt khác, các tính năng được thêm vào phiên bản Toolbar của thư viện AndroidX AppCompat, tức là những tính năng đó có trên các thiết bị sử dụng thư viện AndroidX.

Vì lý do này, hãy dùng lớp Toolbar của thư viện AndroidX để triển khai các thanh ứng dụng của hoạt động. Việc sử dụng thanh công cụ của thư viện AndroidX giúp hành vi của ứng dụng nhất quán trên nhiều thiết bị nhất.

Thêm một Thanh công cụ vào Hoạt động

Các bước này mô tả cách thiết lập Toolbar làm thanh ứng dụng của hoạt động:
  1. Thêm thư viện AndroidX vào dự án của bạn, như mô tả trong phần Tổng quan về AndroidX.
  2. Đảm bảo hoạt động mở rộng AppCompatActivity:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. Trong tệp kê khai ứng dụng, hãy đặt phần tử <application> để sử dụng một trong các giao diện NoActionBar của AppCompat, như minh hoạ trong ví dụ sau. Việc sử dụng một trong các giao diện này sẽ ngăn ứng dụng sử dụng lớp ActionBar gốc để cung cấp thanh ứng dụng.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. Thêm Toolbar vào bố cục của hoạt động. Ví dụ: mã bố cục sau đây thêm một Toolbar và tạo cho mã này giao diện nổi phía trên hoạt động:
    <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"/>

    Hãy xem quy cách Material Design để biết các đề xuất liên quan đến độ nâng của thanh ứng dụng.

    Đặt thanh công cụ ở đầu bố cục của hoạt động, vì bạn đang dùng thanh công cụ này làm thanh ứng dụng.

  5. Trong phương thức onCreate() của hoạt động, hãy gọi phương thức setSupportActionBar() của hoạt động và truyền thanh công cụ của hoạt động, như minh hoạ trong ví dụ sau. Phương thức này đặt thanh công cụ làm thanh ứng dụng cho hoạt động.

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

Ứng dụng của bạn hiện có một thanh thao tác cơ bản. Theo mặc định, thanh thao tác chứa tên của ứng dụng và một trình đơn mục bổ sung. Ban đầu, trình đơn này chứa mục Cài đặt. Bạn có thể thêm các thao tác khác vào thanh thao tác và trình đơn mục bổ sung, như mô tả trong phần Thêm và xử lý các thao tác.

Sử dụng các phương thức tiện ích của thanh ứng dụng

Sau khi đặt thanh công cụ làm thanh ứng dụng của một hoạt động, bạn sẽ có quyền truy cập vào các phương thức tiện ích do lớp ActionBar của thư viện AndroidX cung cấp. Phương pháp này cho phép bạn làm những việc hữu ích, chẳng hạn như ẩn và hiện thanh ứng dụng.

Để sử dụng các phương thức tiện ích ActionBar, hãy gọi phương thức getSupportActionBar() của hoạt động. Phương thức này trả về một tham chiếu đến đối tượng AppCompat ActionBar. Sau khi có tham chiếu đó, bạn có thể gọi bất kỳ phương thức ActionBar nào để điều chỉnh thanh ứng dụng. Ví dụ: để ẩn thanh ứng dụng, hãy gọi ActionBar.hide().