Bảng điều khiển mô tả các thuộc tính của vùng mà bảng điều khiển chiếm giữ và hoạt động như một vùng chứa ứng dụng. Bạn sử dụng cấu hình XML để xác định các bảng điều khiển, cung cấp một phương pháp linh hoạt và không cần mã để tuỳ chỉnh giao diện người dùng. Để quản lý các thực thể và trạng thái, hệ thống sẽ theo dõi các bảng điều khiển đã xác định.
Danh sách bảng điều khiển
Giao diện người dùng hệ thống tải các định nghĩa của bảng điều khiển từ một tài nguyên mảng có tên là window_states. Mảng tài nguyên này trỏ đến các tệp XML, trong đó các cấu hình bảng điều khiển riêng lẻ được xác định. Phương pháp tập trung này có nghĩa là các bảng điều khiển do Giao diện người dùng có thể mở rộng quản lý sẽ được tải như dự kiến và sẵn sàng để hệ thống sử dụng.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="window_states">
<item>@xml/app_panel</item>
<item>@xml/back_panel</item>
...
</array>
</resources>
Định nghĩa bảng điều khiển
Mỗi bảng điều khiển trong khung Giao diện người dùng có thể mở rộng được xác định bằng một thẻ XML có tên là
<TaskPanel> hoặc <DecorPanel>. <TaskPanel> mô tả các thuộc tính của vùng chứa ứng dụng
, trong khi <DecorPanel> mô tả các thuộc tính của vùng chứa khung hiển thị.
Giao diện người dùng hệ thống tải các định nghĩa bảng điều khiển này và theo dõi các bảng điều khiển cho đến khi một cấu hình khác được tải. Ví dụ: do thay đổi cấu hình do xoay hoặc yêu cầu rõ ràng của hệ thống. The <TaskPanel> and <DecorPanel> đóng vai trò là
các thành phần cơ bản để xây dựng trải nghiệm tuỳ chỉnh thông qua
các thành phần giao diện người dùng có thể định cấu hình.
Thuộc tính XML
Thẻ <TaskPanel> có thể chứa các thuộc tính mà bạn có thể dùng để xác định trạng thái
và quá trình chuyển đổi.
| Thuộc tính | Trạng thái | Mô tả |
|---|---|---|
id |
Bắt buộc | Chỉ định giá trị nhận dạng duy nhất cho bảng điều khiển. Thuộc tính này được dùng để
truy xuất bảng điều khiển từ PanelPool và quản lý trạng thái
trong hệ thống. |
role |
Bắt buộc | Xác định mục đích hoặc chức năng của bảng điều khiển trong hệ thống. Giá trị này có thể tham chiếu đến tài nguyên chuỗi, mảng chuỗi tên thành phần hoặc mã bố cục. Ví dụ: giá trị này có thể xác định các hoạt động liên tục luôn phải xuất hiện trên bảng điều khiển hoặc một bố cục cần được mở rộng. |
defaultVariant |
Không bắt buộc | Chỉ định mã của biến thể mà bảng điều khiển ban đầu phải áp dụng khi được tải. Nếu không được chỉ định, hệ thống có thể sử dụng biến thể được xác định đầu tiên làm biến thể mặc định. |
displayId |
Không bắt buộc | Chỉ định mã của màn hình mà bảng điều khiển dự định xuất hiện. |
defaultLayer |
Không bắt buộc | Có thể chỉ định thứ tự Z mặc định cho các biến thể của bảng điều khiển nếu các biến thể không xác định rõ ràng một lớp. |
controller |
Không bắt buộc, có thể thay đổi |
Tham chiếu đến một tài nguyên (thường là mã XML) xác định một bộ điều khiển dành riêng cho bảng điều khiển, cho phép lưu trữ và truyền các giá trị cấu hình đến các bộ điều khiển bảng điều khiển tuỳ chỉnh. Các bộ điều khiển này phải triển khai giao diện
|
Phần tử con XML
Thẻ <TaskPanel> và <DecorPanel> có thể bao gồm các phần tử con này để
xác định các đặc điểm và hành vi mặc định.
| Thuộc tính | Mô tả |
|---|---|
<Variant> |
Thẻ lồng nhau mô tả một cấu hình hình ảnh cụ thể cho bảng điều khiển tại bất kỳ thời điểm nào. Một bảng điều khiển có thể có nhiều biến thể, mỗi biến thể được xác định bằng một mã duy nhất. Mỗi biến thể xác định các thuộc tính như ranh giới, chế độ hiển thị, lớp, alpha, bán kính góc và phần chèn cho cấu hình cụ thể đó. Các biến thể cũng có thể kế thừa các thuộc tính từ biến thể gốc. |
<KeyFrameVariant> |
Phần mở rộng của <Variant> cho phép nội suy các thuộc tính hình ảnh giữa các biến thể dựa trên giá trị phân số liên tục (từ 0 đến 1) và được dùng cho các quá trình chuyển đổi mượt mà và động, chẳng hạn như trong thao tác kéo, khi trạng thái của bảng điều khiển phụ thuộc vào một dữ liệu đầu vào liên tục như số lượng kéo. |
<Transitions> |
Thẻ lồng nhau chứa một tập hợp các Mỗi |
Thẻ <TaskPanel> cũng có thể bao gồm các phần tử con đặc biệt này để xác định
các hành vi dành riêng cho tác vụ.
| Thuộc tính | Mô tả |
|---|---|
<Restart> |
Thẻ lồng nhau để mô tả chính sách khởi động lại sẽ được áp dụng khi a
TaskPanel trở thành trống. Thẻ này hỗ trợ các thuộc tính
policy (có thể được đặt thành DEFAULT hoặc
LAST) và maxRetry (chỉ định số lần
khởi động lại sẽ được thử trước khi hết thời gian chờ). |
<TaskBehavior> |
Thẻ lồng nhau để mô tả hành vi của việc khởi chạy tác vụ trên bảng điều khiển này. Thẻ
này hỗ trợ thuộc tính newTaskLaunchPolicy, định
cấu hình hành vi của việc khởi chạy tác vụ mới từ TaskPanel này. Các giá trị cấu hình hợp lệ cho chính sách này là DEFAULT,
REMAIN_IN_SOURCE, hoặc REPARENT_TO_SOURCE. |
Mã mẫu
<TaskPanel id="@+id/panelId"
role="@array/roleValue"
defaultVariant="@id/closed"
displayId="0" >
<Variant id="@+id/base">
<Bounds left="0" top="0" width="100%" height="100%"/>
</Variant>
<Variant id="@+id/opened" parent="@id/base">
<Visibility isVisible="true"/>
</Variant>
<Variant id="@+id/closed" parent="@id/base">
<Visibility isVisible="false"/>
</Variant>
<Transitions>
<Transition fromVariant="@id/closed"
toVariant="@id/opened"
onEvent="open_event"/>
<Event id="_System_TaskOpenEvent" panelId="@id/panelId" />
</Transition>
</Transitions>
</TaskPanel>