Quản lý các thay đổi về cấu hình bàn phím có thể tháo rời

Hệ thống Android sẽ kích hoạt một thay đổi về cấu hình mỗi khi bàn phím được gắn vào hoặc tháo ra khỏi thiết bị. Để mang lại trải nghiệm liền mạch cho người dùng và tối đa hoá hiệu suất của người dùng trên các thiết bị có màn hình lớn và bàn phím có thể tháo rời, ứng dụng của bạn cần quản lý hiệu quả các thay đổi về cấu hình bàn phím.

Kết quả

Ứng dụng của bạn phản hồi khi bàn phím bên ngoài được đính kèm hoặc tháo rời mà không cần tạo lại hoạt động đang chạy.

Ngăn việc tạo lại hoạt động khi bàn phím thay đổi

Để ngăn hoạt động của bạn được tạo lại khi bàn phím có thể tháo rời được gắn hoặc tháo rời, hãy thêm các giá trị liên quan đến bàn phím vào thuộc tính configChanges của tệp kê khai ứng dụng và thêm một khung hiển thị vào hệ phân cấp khung hiển thị của hoạt động để ứng dụng có thể theo dõi các thay đổi về cấu hình.

1. Khai báo thuộc tính configChanges

Cập nhật phần tử <activity> trong tệp kê khai ứng dụng bằng cách thêm các giá trị keyboard|keyboardHidden vào danh sách các thay đổi về cấu hình đã được quản lý:

<activity
    ...
    android:configChanges="...|keyboard|keyboardHidden">

2. Thêm một khung hiển thị trống vào hệ phân cấp khung hiển thị

Khai báo một khung hiển thị mới và thêm mã trình xử lý vào bên trong phương thức onConfigurationChanged() của khung hiển thị:

Kotlin

val v = object : View(this) {
    override fun onConfigurationChanged(newConfig: Configuration?) {
        super.onConfigurationChanged(newConfig)
        // Handler code here.
    }
}

Java

View v = new View(this) {
    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        // Handler code here.
    }
};

Điểm chính

  • android:configChanges: Thuộc tính của phần tử <activity> trong tệp kê khai ứng dụng. Thông báo cho hệ thống về những thay đổi về cấu hình mà ứng dụng quản lý.
  • View#onConfigurationChanged() : Phương thức phản ứng với việc truyền một cấu hình ứng dụng mới.

Bộ sưu tập có chứa hướng dẫn này

Hướng dẫn này là một phần của các bộ sưu tập Hướng dẫn nhanh được tuyển chọn, bao gồm các mục tiêu phát triển Android rộng hơn:

Cho phép ứng dụng của bạn hỗ trợ trải nghiệm người dùng được tối ưu hoá trên máy tính bảng, thiết bị có thể gập lại và thiết bị ChromeOS.

Bạn có câu hỏi hoặc ý kiến phản hồi

Truy cập vào trang câu hỏi thường gặp của chúng tôi để tìm hiểu về các hướng dẫn nhanh hoặc liên hệ với chúng tôi để chia sẻ ý kiến của bạn.