Biểu tượng con trỏ chuột

Người dùng Android truy cập vào ứng dụng của bạn từ nhiều loại kiểu dáng thiết bị, tức là điện thoại, máy tính bảng, thiết bị có thể gập lại và Chromebook. Khi tương tác với ứng dụng của bạn, đặc biệt là trên màn hình lớn, người dùng cũng có thể sử dụng một số loại thiết bị trỏ như chuột có 3 nút. Các ứng dụng Android hỗ trợ việc áp dụng nhiều kiểu cho con trỏ chuột để giúp những người dùng này có dấu hiệu trực quan cho thấy họ có thể tương tác với một đối tượng.

Sử dụng con trỏ mặc định của hệ thống

Người dùng đã quen với nhiều quy ước để tương tác với nhiều loại đối tượng trên các thiết bị màn hình lớn. Android cung cấp cho nhà phát triển một số biểu tượng con trỏ phổ biến nhất mà người dùng quen thuộc. Bạn có thể thêm các biểu tượng con trỏ mặc định của hệ thống này bằng một vài dòng mã. Hãy xem đoạn mã Kotlin sau:

myView.setOnHoverListener { view, _ ->
      view.pointerIcon =
         PointerIcon.getSystemIcon(applicationContext, PointerIcon.TYPE_HAND)
      false // Listener did not consume the event.
}

Trong ví dụ này, myView là khung hiển thị sẽ được đặt thành biểu tượng con trỏ trong một số điều kiện nhất định. Điều kiện được minh hoạ ở đây là trạng thái di chuột, xảy ra khi con trỏ chuột ở trên một khung hiển thị. Trong các trường hợp khác, bạn có thể muốn có một biểu tượng chờ trong quá trình xử lý hoặc một dấu thập trong trò chơi.

setOnHoverListener sẽ theo dõi thời điểm con trỏ chuyển sang trạng thái di chuột rồi thực hiện hành động dựa trên sự kiện đó. Bên trong trình nghe sự kiện, view.pointerIcon được gọi để đặt biểu tượng con trỏ cho khung hiển thị cụ thể đó. Một biểu tượng hệ thống hiện có được dùng để đặt biểu tượng của con trỏ.

Android có một số biểu tượng hệ thống được tích hợp sẵn; bạn có thể xem danh sách đầy đủ ở cuối trang này. Biểu tượng TYPE_HAND được dùng, cho thấy một bàn tay khép hờ với ngón trỏ duỗi thẳng.

Sử dụng con trỏ đặc biệt của riêng bạn

// Loading a bitmap to use as a pointer icon
    BitmapFactory.decodeResource(
        this.resources,
        R.drawable.dollar_sign
    ), CURSOR_WIDTH, CURSOR_HEIGHT, false
)

// Creating the pointer icon and sending clicks from the center of the mouse icon
PointerIcon.create(dollarBitmap, (CURSOR_WIDTH/2).toFloat(), (CURSOR_HEIGHT/2).toFloat())

Lưu ý: Vị trí của điểm phát sóng tuỳ thuộc vào trường hợp sử dụng của bạn. Ví dụ: một ứng dụng vẽ sẽ đặt điểm phát sóng là đầu bút hoặc cọ vẽ.

Ví dụ

Việc thêm biểu tượng con trỏ vào ứng dụng là một cách tuyệt vời để giúp người dùng có trải nghiệm trực quan hơn trên nhiều hệ số hình dạng thiết bị mà họ sử dụng. Có rất nhiều biểu tượng hệ thống mặc định tuyệt vời và nếu những biểu tượng đó không phù hợp với nhu cầu của bạn, bạn luôn có thể tải hoặc tạo biểu tượng của riêng mình.

  • Kéo và thả – Nếu ứng dụng của bạn hỗ trợ thao tác kéo từ một ứng dụng khác và thả vào ứng dụng của bạn, thì bạn có thể triển khai biểu tượng TYPE_NO_DROP. Điều này sẽ cho thấy một dấu hiệu trực quan rằng ứng dụng của bạn không hỗ trợ loại MIME đang cố gắng được thả vào ứng dụng.
  • Lập bản đồ – Nếu bạn có một ứng dụng lập bản đồ và muốn cho người dùng biết rằng họ có thể di chuyển bản đồ, thì họ có thể có lựa chọn sử dụng biểu tượng TYPE_GRAB khi bạn di chuột lên bản đồ. Khi người dùng nhấp, bạn có thể cập nhật biểu tượng thành bàn tay nắm để cho biết họ đang di chuyển bản đồ.
  • Chỉnh sửa ảnh – Người dùng chỉnh sửa ảnh muốn có các chế độ điều khiển cho phép họ chọn kính lúp để phóng to. Bạn có thể thay đổi con trỏ thành kính lúp bằng biểu tượng TYPE_ZOOM_IN khi chọn chế độ phóng to.
  • Và nhiều cơ hội khác

Lưu ý: Để xem các thay đổi về con trỏ, hãy xem Mẫu con trỏ trên GitHub này

Biểu tượng con trỏ tuỳ chỉnh trong ứng dụng Android.

Phụ lục

Tài liệu đọc thêm

Con trỏ mặc định của hệ thống

Theo mặc định, đây là những con trỏ có sẵn trong Hệ thống Android.

Tên con trỏ Biểu tượng
TYPE_ALIAS Con trỏ bí danh, một mũi tên có mũi tên cong nhỏ bên cạnh.
TYPE_ALL_SCROLL Con trỏ cuộn tất cả, một vòng tròn có 4 mũi tên hướng ra ngoài.
TYPE_ARROW Con trỏ mũi tên chuẩn.
TYPE_CELL Con trỏ ô
TYPE_CONTEXT_MENU Con trỏ trình đơn theo bối cảnh, một mũi tên có biểu tượng trình đơn nhỏ bên cạnh.
TYPE_COPY Con trỏ sao chép, một mũi tên có dấu cộng bên cạnh.
TYPE_CROSSHAIR Con trỏ hình chữ thập, một dấu cộng có dấu chấm ở giữa.
TYPE_DEFAULT Con trỏ mũi tên mặc định.
TYPE_GRAB Con trỏ kéo, một bàn tay mở.
TYPE_GRABBING Con trỏ nắm bắt, một bàn tay khép kín.
TYPE_HAND Con trỏ bàn tay, một bàn tay có ngón trỏ chỉ.
TYPE_HELP Con trỏ trợ giúp, một mũi tên có dấu chấm hỏi bên cạnh.
TYPE_HORIZONTAL_DOUBLE_ARROW Con trỏ mũi tên đôi theo chiều ngang để đổi kích thước.
TYPE_NO_DROP Con trỏ không thả, một vòng tròn có đường thẳng xuyên qua.
TYPE_NULL Không hiển thị con trỏ
TYPE_TEXT Con trỏ văn bản, một con trỏ chữ I.
TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW Con trỏ mũi tên hai chiều chéo từ trên cùng bên trái xuống dưới cùng bên phải để đổi kích thước.
TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW Con trỏ mũi tên hai chiều chéo từ trên cùng bên phải xuống dưới cùng bên trái để đổi kích thước.
TYPE_VERTICAL_DOUBLE_ARROW Con trỏ mũi tên đôi theo chiều dọc để đổi kích thước.
TYPE_VERTICAL_TEXT Con trỏ văn bản dọc, một tia I theo chiều ngang.
TYPE_WAIT Con trỏ chờ, đồng hồ cát hoặc vòng tròn xoay.
TYPE_ZOOM_IN Con trỏ phóng to, một kính lúp có dấu cộng.
TYPE_ZOOM_OUT Con trỏ thu nhỏ, một kính lúp có dấu trừ.