ถ้าเรียก Button.new() ตรง ๆ ระยะขอบใน ความสูง และการตัดบรรทัด จะเพี้ยนไปทีละนิด
จากหน้าจอหนึ่งไปอีกหน้าจอหนึ่ง ความเพี้ยนนั้นมองไม่เห็นตอนรีวิวโค้ด แต่เห็นชัดเจนในภาพหน้าจอ
| กลุ่ม | ฟังก์ชัน |
|---|---|
| โครงสร้าง | column row wrap_row padding spacer divider responsive_grid aspect foldable |
| ตัวอักษร | label label_key line section typography |
| ปุ่ม | button button_key icon_button list_button list_row apply_icon style_choice_card style_chip_button style_chip_label |
| การรับข้อมูล | line_edit textarea toggle checkbox slider picker select dropdown radio_group segmented choice_grid |
| การแสดงผล | card chip hud_panel chip_panel avatar skeleton alert table tabs breadcrumb progress empty_state |
| ชิ้นส่วนของพื้นผิว | surface box floating disc face_padding |
| ตัวช่วย | form fit_words natural_width tooltip_node card_body let_input_through |
box() คืนค่าเป็น StyleBoxFlat เสมอ เพราะผู้เรียกจะรับมันไปแล้วปรับ
bg_color หรือ corner_radius ต่อ ถ้าต้องการให้รูปทรงที่กำหนดเองอยู่รอด
ให้ใช้ surface() แทน
แถวรายการที่มีคำอธิบาย
GoStyle.list_button(GoIconSet.SWORD, "ดาบคำสาบาน", _inspect, Color.TRANSPARENT,
"ดาบยาว / โจมตี 42", false)
แถวที่มีบรรทัดที่สองจะได้ระยะขอบในด้านบนและล่างเท่ากัน โปร่งกว่าแถวบรรทัดเดียว และคู่ของ หัวเรื่องกับคำอธิบายจะจัดกึ่งกลางแนวตั้งข้างไอคอนเสมอ — รวมถึงตอนที่คอนเทนเนอร์ยืดแถวให้สูงขึ้น และหลังจากคำอธิบายตัดบรรทัดเป็นหลายบรรทัดแล้วด้วย ทั้งแถวยังคงเป็นเป้าหมายการแตะเดียวกัน
medieval_lightแถวที่ไหลต่อกัน
ใส่คอนโทรลลงใน wrap_row ที่ความกว้างตามธรรมชาติของมัน ถ้าปล่อยให้การตัดบรรทัดเปิดอยู่
ความกว้างขั้นต่ำของปุ่มจะลดลงจนแทบเป็นศูนย์ แล้วแถวจะกำหนดขนาดเซลล์ตามนั้น — ป้ายข้อความจะยุบลงเหลือ
บรรทัดละตัวอักษร ตัวโรงงานป้องกันเรื่องนี้ให้คุณแล้ว
อย่าปล่อยรายการที่ว่างให้ว่างเปล่า
page.add_child(GoStyle.empty_state(GoIconSet.BOX, "ยังไม่มีอะไรที่นี่"))
คนอ่านหน้าจอเปล่า ๆ ว่ามันพัง
ฮุกสำหรับการสืบทอด
ทุกจุดที่มีการสร้างวิดเจ็ตลูกจะผ่านเมธอดที่เขียนทับได้ โปรเจกต์ที่สืบทอดชนิดต่าง ๆ ของ gohud จึงเอาซับคลาสของตัวเองเข้าไปอยู่ข้างในวิดเจ็ตได้ โดยไม่ต้องคัดลอกโค้ด
| ฮุก | วิดเจ็ต | ค่าเริ่มต้น |
|---|---|---|
_make_scroll() | GoCoachMark, GoSurface | GoScroll.new() |
_make_close_button() | GoPromptCard, GoSurface | GoIconButton.new() |
_make_surface() | GoSheet, GoDialogs | GoSurface.new() |
_should_pause() | GoCoachMark | ซ่อนการ์ดขณะที่มีหน้าต่างโมดัลเปิดอยู่ |