- Cách chọn thời gian trong ứng dụng Báo thức trên iPhone không phải là thiết kế hình tròn
- Nhìn bề ngoài có vẻ như giao diện kiểu bánh xe xoay, nhưng thực chất được tạo thành từ một danh sách dài
- Khiến người dùng có cảm giác đang cuộn theo cách như thể không có điểm kết thúc
- Được các nhà phát triển và nhà thiết kế UX chú ý như một ví dụ về hiệu ứng đánh lừa thị giác trong UI
- Việc hiểu cách triển khai thực tế này là tài liệu tham khảo hữu ích cho phát triển ứng dụng
Cấu trúc bộ chọn thời gian trong ứng dụng Báo thức trên iPhone
- Bộ chọn để cài đặt thời gian trong ứng dụng Báo thức trên iPhone nhìn bề ngoài giống như dạng tròn (bánh xe xoay)
- Nhưng trên thực tế, bộ chọn này được triển khai dưới dạng một danh sách rất dài có điểm bắt đầu và điểm kết thúc xác định
- Khi người dùng cuộn, nó tạo cảm giác như có thể tiếp tục xoay lên hoặc xuống mãi mãi
- Cách triển khai này là một thiết kế nhằm mang lại trải nghiệm người dùng tương tự mà không cần áp dụng trực tiếp giao diện hình tròn
- Nhà phát triển đã thiết kế giao diện người dùng để trông như hình tròn bằng cách tận dụng danh sách cuộn vô hạn
Góc nhìn của nhà phát triển và thiết kế UX
- Với cách này, có thể thay thế giao diện hình tròn phức tạp chỉ bằng một danh sách đơn giản
- Trên thực tế, ở hai đầu danh sách, nó không di chuyển sang hướng ngược lại, chỉ là số lượng mục trong danh sách rất nhiều nên người dùng khó chạm đến giới hạn
- Thiết kế này sử dụng hiệu ứng đánh lừa thị giác trong UI để mang lại trải nghiệm mà người dùng mong đợi
- Đây là một ví dụ cho thấy khi phát triển ứng dụng, chỉ cần triển khai danh sách cũng có thể đảm bảo hiệu quả và tính dễ dùng tương tự giao diện hình tròn
Kết luận
- Bộ chọn thời gian trong ứng dụng Báo thức trên iPhone tạo ra hiệu ứng hình tròn bằng cách xoay một danh sách dài
- Điều này gợi ra một hướng thiết kế giao diện trực quan nhưng hiệu quả cho các nhà phát triển và nhà thiết kế UI/UX
1 bình luận
Ý kiến trên Hacker News
UIPickerView, một component UI ở cấp hệ thống. Ứng dụng của tôi cũng có một "lỗi" tương tự(0..60).times(50).flatten()giải quyết được 99% vấn đề với 1% công sức. Nếu QA chỉ gặp lỗi khi cuộn đến tận cuối danh sách thì chắc Product mới mang nó lên thành issue. Ai mà quan tâm chứ