gohud

GoStyle — một chỗ duy nhất để tạo ra mọi thứ

← Widget

Gọi thẳng Button.new() thì phần đệm, chiều cao và cách xuống dòng sẽ lệch nhau chút ít giữa các màn hình. Chỗ lệch đó vô hình khi review code và lộ rõ trong một tấm ảnh chụp màn hình.

NhómHàm
Cấu trúccolumn row wrap_row padding spacer divider responsive_grid aspect foldable
Văn bảnlabel label_key line section typography
Nútbutton button_key icon_button list_button list_row apply_icon style_choice_card style_chip_button style_chip_label
Nhập liệuline_edit textarea toggle checkbox slider picker select dropdown radio_group segmented choice_grid
Hiển thịcard chip hud_panel chip_panel avatar skeleton alert table tabs breadcrumb progress empty_state
Mảnh của lớp nổisurface box floating disc face_padding
Tiện íchform fit_words natural_width tooltip_node card_body let_input_through
box() luôn trả về một StyleBoxFlat, vì phía gọi nhận nó rồi chỉnh bg_color hoặc corner_radius. Hãy dùng surface() khi cần giữ nguyên một hình dáng tùy biến.

Hàng danh sách có dòng mô tả

GoStyle.list_button(GoIconSet.SWORD, "Kiếm Thề Nguyện", _inspect, Color.TRANSPARENT,
    "Trường kiếm  /  Tấn công 42", false)

Một hàng có dòng thứ hai được cấp phần đệm trên và dưới bằng nhau, rộng rãi hơn hàng một dòng, và cặp tiêu đề/mô tả luôn canh giữa theo chiều dọc bên cạnh biểu tượng — kể cả khi một container kéo hàng đó cao lên, và cả sau khi dòng mô tả xuống thành nhiều dòng. Cả hàng vẫn là một vùng chạm duy nhất.

Ví dụ medieval_light — hàng danh sách hai dòng, ô nhanh và các thanh
Hàng hai dòng, ô nhanh và các thanh trong ví dụ trung cổ — vẫn những lệnh gọi factory đó dưới medieval_light.

Hàng tự xuống dòng

Hãy đặt các control vào wrap_rowbề rộng tự nhiên của chúng. Nếu cứ để bật xuống dòng, bề rộng tối thiểu của một cái nút tụt xuống gần như bằng không và hàng lấy đó làm cỡ ô — nhãn co lại thành mỗi dòng một ký tự. Factory ngăn chuyện này giúp bạn.

Đừng bao giờ để một danh sách rỗng trống trơn

page.add_child(GoStyle.empty_state(GoIconSet.BOX, "Chưa có gì ở đây"))

Người ta đọc một màn hình trắng trơn ra là hỏng.

Hook để kế thừa

Mọi chỗ dựng ra một widget con đều đi qua một phương thức ghi đè được, nên một dự án có kế thừa các kiểu của gohud sẽ đưa được lớp con của mình vào bên trong các widget mà không phải chép code.

HookWidgetMặc định
_make_scroll()GoCoachMark, GoSurfaceGoScroll.new()
_make_close_button()GoPromptCard, GoSurfaceGoIconButton.new()
_make_surface()GoSheet, GoDialogsGoSurface.new()
_should_pause()GoCoachMarkẨn tấm thẻ trong lúc một cửa sổ modal đang mở