Vị trí ban đầu dạng Point hoặc tuple/list (x, y). Point mang metadata scale/anchor.
Tùy chọn · Theo vị trí hoặc tên
Mặc định:(0, 0)
colorColor | String | Number
Màu chữ ban đầu.
Tùy chọn · Theo vị trí hoặc tên
Mặc định:white
sizeNumber
Cỡ chữ ban đầu (sp).
Tùy chọn · Theo vị trí hoặc tên
Mặc định:16
backgroundColor | String | Number | None
Màu nền ban đầu. None nghĩa là trong suốt/không có nền.
Tùy chọn · Theo vị trí hoặc tên
Mặc định:None
Giá trị trả về
OverlayText
Hành vi / tác động
Vẽ text đè lên màn hình với tùy chọn theo dõi tương tác (ấn/kéo/giữ). Các tên setter như text/background là method; đọc giá trị hiện tại qua state().
Thực thi
Chờ hoàn tất: Tùy điều kiện
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
badge = OverlayText("Running...", Point(320, 160, scale="width", anchor="top"), background=None)
badge.color("#FF00E676").background("#66000000").size(18).track(press=True, move=True, hold=True, hold_ms=700)
badge.show()
state = badge.state()
if state["status"] == 2:
MacroPanel.notify("Badge is moving")
p = badge.get_point()
r = badge.get_region()
if r is not None:
r.highlight("yellow", auto_hide_ms=600)
badge.hide() # ẩn nhanh
badge.show() # hiện lại nhanh
badge.off() # giải phóng hoàn toàn
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Tắt và giải phóng toàn bộ overlay text do luồng hiện tại tạo, không ảnh hưởng các luồng chạy song song.
Cú pháp
OverlayText.off_all()
Tham số
Không có
Giá trị trả về
None — Không có giá trị trả về.
Hành vi / tác động
Tắt và giải phóng toàn bộ overlay text do luồng hiện tại tạo, không ảnh hưởng các luồng chạy song song.
Thực thi
Chờ hoàn tất: Tùy điều kiện
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Giải phóng các overlay thuộc luồng này
a = OverlayText("Running", (24, 120))
a.show()
OverlayText.off_all()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.text("Running")
badge.show()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.color("#FF00E676")
badge.show()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.background("#66000000")
badge.show()
badge.background(None)
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.size(20)
badge.show()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Cập nhật vị trí vẽ bằng Point hoặc tuple/list (x, y).
Cú pháp
overlay.position(position)
Tham số
Tên
Mô tả
positionPoint | tuple[Number, Number]
Vị trí mới.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
Giá trị trả về
OverlayText — Trả về chính builder overlay text.
Hành vi / tác động
Cập nhật vị trí vẽ bằng Point hoặc tuple/list (x, y). Point mang metadata scale/anchor.
Thực thi
Chờ hoàn tất: Tùy điều kiện
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.position((80, 160))
badge.show()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Ngưỡng thời gian để coi tương tác là đang giữ lâu, tính theo milliseconds.
Tùy chọn · Theo vị trí hoặc tên
Mặc định:600
Giá trị trả về
OverlayText — Trả về chính builder overlay text.
Hành vi / tác động
Cấu hình theo dõi tương tác. Nếu tất cả cờ đều False thì text đứng yên ở vị trí khai báo.
Thực thi
Chờ hoàn tất: Tùy điều kiện
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.track(press=True, move=True, hold=True, hold_ms=700)
badge.show()
print(badge.state())
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Lấy point góc trên-trái hiện tại của overlay text.
Cú pháp
overlay.get_point()
Tham số
Không có
Giá trị trả về
Point — Vị trí overlay hiện tại theo pixel màn hình.
Hành vi / tác động
Lấy point góc trên-trái hiện tại của overlay text. Vị trí này sẽ được cập nhật sau khi người dùng kéo di chuyển.
Thực thi
Chờ hoàn tất: Tùy điều kiện
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.show()
point = badge.get_point()
print(point.x, point.y)
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Lấy region bao quanh kích thước overlay text hiện tại.
Cú pháp
overlay.get_region()
Tham số
Không có
Giá trị trả về
Region? — Region bao quanh overlay text, hoặc None. Luôn kiểm tra None trước khi dùng region.
Hành vi / tác động
Lấy region bao quanh kích thước overlay text hiện tại. Trả về None khi overlay chưa hiển thị hoặc chưa đo xong kích thước.
Thực thi
Chờ hoàn tất: Tùy điều kiện
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.show()
bounds = badge.get_region()
if bounds is not None:
print(bounds.width, bounds.height)
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
print(badge.show())
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Ẩn overlay text nhưng giữ view đã cache để show() lại nhanh hơn.
Cú pháp
overlay.hide()
Tham số
Không có
Giá trị trả về
dict — dict trạng thái hiện tại của overlay.
Hành vi / tác động
Ẩn overlay text nhưng giữ view đã cache để show() lại nhanh hơn.
Thực thi
Chờ hoàn tất: Tùy điều kiện
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.show()
badge.hide()
badge.show()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.show()
print(badge.off())
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
dict — dict trạng thái gồm status/status_label, cờ tracking, và width/height của overlay theo pixel (nếu có).
Hành vi / tác động
Trả về trạng thái tương tác hiện tại. Bản đồ mã: 0=IDLE, 1=PRESSED, 2=MOVING, 3=HOLDING, 4=RELEASED, 5=HIDDEN, 6=OFF. Khi gọi state(), PRESSED và RELEASED sẽ tự reset về IDLE cho lần đọc kế tiếp; MOVING và HOLDING thì không tự reset.
Thực thi
Chờ hoàn tất: Tùy điều kiện
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Tùy điều kiện
Mỗi luồng sở hữu id overlay riêng; off_all() chỉ giải phóng overlay của luồng đó. Công việc UI chuyển qua Android Main và có thể tạm chờ luồng gọi. Giữ builder overlay có thể thay đổi trong luồng sở hữu.
Ví dụ
# Cấu hình hoặc kiểm tra overlay thuộc luồng này
badge = OverlayText("Ready", (24, 120))
badge.track(press=True, move=True)
badge.show()
state = badge.state()
print(state["status_label"])
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.