Hệ thống Android sẽ kích hoạt thay đổi cấu hình mỗi khi bàn phím được gắn vào hoặc tháo khỏi thiết bị. Để đảm bảo trải nghiệm người dùng liền mạch và tối đa hoá năng suất của người dùng trên các thiết bị màn hình lớn có 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.
Ngăn chặn việc tạo lại hoạt động khi thay đổi bàn phím
Để 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 thành phần hiển thị vào hệ phân cấp khung hiển thị của hoạt động để ứng dụng của bạn 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 thành phần hiển thị trống vào hệ phân cấp khung hiển thị
Khai báo một thành phần hiển thị mới và thêm mã xử lý vào bên trong phương thức onConfigurationChanged()
của thành phần 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ề các 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 cấu hình ứng dụng mới.
Kết quả
Ứng dụng của bạn hiệ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.
Các bộ sưu tập 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 này, bao gồm các mục tiêu phát triển Android rộng hơn:
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=vi)