Khi tương tác với ứng dụng của bạn, người dùng thường sử dụng các cơ chế đầu vào không cảm ứng:
- Môi trường máy tính: Người dùng điều hướng và nhập dữ liệu bằng bàn phím phần cứng và bàn di chuột thực.
- Android TV: Người dùng điều hướng giao diện bằng d-pad.
- Ô tô: Người lái xe và hành khách tương tác bằng bộ điều khiển xoay.
- Thiết bị có thể gập lại và máy tính bảng: Người dùng gắn nắp bàn phím và các phụ kiện đầu vào bên ngoài.
Trong tất cả các trường hợp này, ứng dụng của bạn phải theo dõi xem phần tử tương tác nào đang hoạt động trên màn hình. Trạng thái hoạt động này được gọi là tiêu điểm.
Các yếu tố chính để di chuyển bằng bàn phím một cách trực quan
Để mang lại trải nghiệm chất lượng cao cho người dùng trên màn hình lớn và thiết bị không cảm ứng, hãy thiết kế ứng dụng của bạn theo các nguyên tắc sau:
- Tiêu điểm ban đầu hợp lý: Đặt tiêu điểm ban đầu vào phần tử mà người dùng có nhiều khả năng tương tác nhất khi truy cập vào một màn hình.
- Thứ tự điều hướng nhất quán: Cung cấp chế độ duyệt qua tiêu điểm một chiều (Tab) và hai chiều (phím mũi tên hoặc D-pad) có thể dự đoán.
- Tiêu điểm liên tục: Khôi phục tiêu điểm một cách liền mạch sau khi bị gián đoạn, đóng hộp thoại hoặc thay đổi cấu hình.
- Xoá trạng thái lấy tiêu điểm: Hiển thị các tín hiệu trực quan nổi bật, dễ tiếp cận (chẳng hạn như vòng tiêu điểm hoặc hiệu ứng gợn sóng) cho biết phần tử nào hiện đang được lấy tiêu điểm.
- Thao tác cuộn trực quan: Đảm bảo phần tử được lấy tiêu điểm và ngữ cảnh xung quanh phần tử đó cuộn mượt mà vào khung hiển thị có thể nhìn thấy.
Hướng dẫn lấy tiêu điểm
Hãy khám phá các hướng dẫn sau để tìm hiểu cách quản lý và tuỳ chỉnh tiêu điểm trong Compose:
- Mục tiêu tiêu điểm: Tìm hiểu cách các thành phần tương tác trở thành mục tiêu tiêu điểm và cách tạo thành phần kết hợp tuỳ chỉnh có thể làm tiêu điểm.
- Thứ tự duyệt qua tiêu điểm: Tìm hiểu thứ tự xuất hiện 1D và chế độ điều hướng không gian 2D, cũng như cách tuỳ chỉnh đường dẫn duyệt qua.
- Tập trung vào các trường văn bản: Tìm hiểu cách các trường văn bản một dòng và nhiều dòng xử lý phím Tab và phím mũi tên, cũng như cách hoạt động của tương tác IME trên TV.
- Nhóm mục tiêu lấy tiêu điểm: Nhóm các thành phần bằng
focusGroupvà chặn việc chuyển hướng lối vào hoặc lối ra. - Khôi phục tiêu điểm: Khôi phục tiêu điểm cho các thành phần con đang hoạt động trước đó trong các vùng chứa, xử lý các thành phần điều hướng và quản lý tiêu điểm trong quá trình chuyển đổi màn hình.
- Cho biết trạng thái tiêu điểm: Áp dụng các tín hiệu trực quan và chỉ báo tuỳ chỉnh để làm nổi bật các thành phần được lấy tiêu điểm.
- Phản ứng với tiêu điểm: Quan sát các thay đổi về tiêu điểm và truy vấn các thuộc tính trạng thái tiêu điểm bằng
onFocusChanged. - Yêu cầu tiêu điểm theo phương thức lập trình: Di chuyển tiêu điểm một cách rõ ràng để phản hồi các hành động của người dùng hoặc lỗi xác thực.
- Di chuyển và xoá tiêu điểm: Lập trình để chuyển hoặc xoá tiêu điểm bằng
FocusManager. - Nắm bắt và giải phóng tiêu điểm: Nắm bắt tiêu điểm cho các hoạt động phụ theo phương thức và giải phóng tiêu điểm một cách an toàn.
- Kiểm thử thao tác di chuyển tiêu điểm: Viết các bài kiểm thử Compose tự động để xác minh các thao tác tương tác bằng bàn phím 1D, 2D và trường văn bản.
Đề xuất cho bạn
- Lưu ý: văn bản có đường liên kết sẽ hiện khi JavaScript tắt
- Mục tiêu lấy tiêu điểm
- Thứ tự duyệt qua tiêu điểm
- Tiêu điểm trong trường văn bản
- Nhóm mục tiêu lấy tiêu điểm
- Kiểm thử thao tác điều hướng bằng tiêu điểm