Mẫu và thành phần

Trong Android 8.0, trình đơn Cài đặt sẽ có một số thành phần và tiện ích bao gồm các mục đích sử dụng phổ biến. Các nhà sản xuất và phát triển thiết bị nên sử dụng các thành phần phổ biến khi mở rộng ứng dụng Cài đặt để giữ lại giao diện người dùng mới nhất quán với giao diện người dùng Cài đặt hiện có.

Sau đây là bản tóm tắt các điểm cải tiến:

  • Thay đổi về hành vi của đường phân chia trong khung Tuỳ chọn thư viện hỗ trợ. Dải phân cách là hiện được vẽ giữa các danh mục.
  • Thay đổi giao diện của Thanh tác vụ. ActionBar hiện sử dụng giao diện màu sáng với văn bản màu nhấn.
  • Bố cục lựa chọn ưu tiên mới. Khoảng trống cho các biểu tượng vẫn giữ nguyên khi một tuỳ chọn không có biểu tượng.

Các tiện ích mới:

  • Tiện ích tiêu đề cung cấp thông tin chi tiết về ứng dụng. Hiển thị biểu tượng ứng dụng, nhãn ứng dụng và thông tin khác.
  • Nút mở rộng trên một số trang. Trang có thể bắt đầu dưới dạng được thu gọn và ẩn bớt các mục quan trọng cho đến khi người dùng nhấp vào nút mở rộng.
  • Giao diện người dùng của bộ chọn ứng dụng mặc định:
    • Giao diện người dùng để chọn trình duyệt mặc định, ứng dụng điện thoại mặc định, v.v.
    • Trước đây là hộp thoại, nay là giao diện người dùng dựa trên nút chọn toàn màn hình.
  • "MasterSwitch" kiểu tùy chọn. Đây là tuỳ chọn với hai cú nhấp chuột mục tiêu. Mục tiêu bên trái dẫn đến một mảnh hoặc ý định cài đặt phụ. Mục tiêu bên phải là bật/tắt công tắc, điều khiển bật/tắt toàn bộ trang.

Ví dụ và nguồn

  • Cách hoạt động của dải phân cách
    • Tất cả các trang trong Cài đặt được sửa đổi để sử dụng chức năng phân chia mới.
    • Hành vi phân chia được định nghĩa là ThemeOverlay trong:
      packages/apps/Settings/res/values/styles_preference.xml
  • Thay đổi giao diện của Thanh tác vụ
    • Tất cả các trang trong Cài đặt đều được sửa đổi để sử dụng giao diện ActionBar mới.
    • Giao diện được xác định trong Theme.DeviceDefault.Settings
  • Bố cục lựa chọn ưu tiên mới
    • Nhiều trang trong phần Cài đặt hiện đang sử dụng bố cục lựa chọn ưu tiên mới.
    • Bạn có thể tìm thấy mã trong:
      packages/apps/Settings/res/values/styles_preference.xml
  • Tiện ích tiêu đề ứng dụng
    • Hầu hết các trang thông tin ứng dụng trong Cài đặt đã triển khai tiêu đề Ứng dụng mới.
    • Bạn có thể tìm thấy ví dụ và mã tại:
      packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
  • Nút mở rộng
    • Bạn có thể tìm thấy ví dụ và mã tại:
      packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java

      Lưu ý: Bạn phải sử dụng thành phần này cùng với Trang tổng quanFragment. (Xem thêm thông tin chi tiết về DashboardFragment trong phần Kiến trúc thông tin cập nhật.)

  • Bộ chọn ứng dụng mặc định
    • Bạn có thể tìm thấy mã cho lớp cơ sở trong:
      packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
    • Có một số lớp con của DefaultAppPickerFragment, mỗi lớp triển khai một bộ chọn cho ý định khác.
  • Lựa chọn ưu tiên về kiểu MasterSwitch
    • Mã nằm tại: https://cs.android.com/android/platform/superproject/main/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
    • Một ví dụ về trường hợp sử dụng là công tắc Wi-Fi chính. Bạn có thể tìm thấy ví dụ tại: packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java

Triển khai

Nhà sản xuất thiết bị có thể bắt đầu sử dụng tất cả các thành phần mới có sẵn. Nếu OEM (Nhà sản xuất thiết bị gốc) quyết định triển khai "MasterSwitch" mới tùy chọn kiểu hoặc ứng dụng mặc định bộ chọn cụ thể, họ nên thực hiện theo các ví dụ trong tài liệu này và các tệp tham chiếu (Javadoc) được viết với từng thành phần để biết thêm thông tin chi tiết.

Tuỳ chỉnh trình đơn cài đặt

  • Cách hoạt động của đường phân chia. Để thay đổi cách vẽ đường phân chia, hãy cập nhật kiểu cho đường phân chia Cài đặt và thay đổi giá trị cho các thành phần sau:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • Màu giao diện của ActionBar. Các hoạt động nên sử dụng Theme.DeviceDefault.Settings làm chủ đề, hoặc tạo một giao diện tuỳ chỉnh bằng cách dùng Theme.DeviceDefault.Settings làm thành phần mẹ.
  • Tiện ích tiêu đề ứng dụng. Sử dụng phương thức setter trong AppHeaderController để tuỳ chỉnh từng trường và lệnh gọi build() sau khi thiết lập tất cả các trường.
  • Nút mở rộng:
    • Để tắt hoàn toàn chức năng này, hãy ghi đè hàm khởi tạo cho ProgressivePublishMixin và đặt keepMở rộng thành true.
    • Để tùy chỉnh số lượng mục sẽ hiển thị ban đầu, hãy gọi phương thức Phương thức ProgressiveDisclosureMixin.setTileLimit() trong quá trình phân mảnh onAttach(Context).