แบบสำรวจการวิจัย: บอกให้เราทราบเกี่ยวกับประสบการณ์การใช้งาน Blockly
เริ่มแบบสำรวจ
แถว
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
บล็อกหมายถึงชุดอินพุต แต่ข้อมูลการแสดงผลจะกําหนดวิธีการแบ่งอินพุตเหล่านี้ออกเป็นแถวและแถวที่เว้นระยะห่าง
เช่น เมื่อตั้งค่าการบล็อกเป็นอินพุตแบบอินไลน์ การบล็อกจะมีแถวน้อยกว่าตอนที่ตั้งค่าเป็นอินพุตภายนอก แต่มีจำนวนอินพุตเท่ากัน
แต่มีจำนวนแถวต่างกัน

แถว
Row
คือคอลเล็กชันแนวนอนขององค์ประกอบและที่กั้นองค์ประกอบที่ไม่ซ้อนทับกัน
ขอบเขตของแถวจะกำหนดตามขอบเขตขององค์ประกอบและสเปเซอร์ที่อยู่ในแถวดังกล่าว เพื่อให้องค์ประกอบทั้งหมดอยู่ภายใน
ที่กั้นตำแหน่งแถวแนวนอน
RowSpacer
เป็นพื้นที่แนวตั้งที่ว่างเปล่าที่อยู่ระหว่าง 2 แถว
ขอบเขตของพื้นที่แถวจะกำหนดโดยข้อมูลการแสดงผล หลังจากวัดแถวทั้งหมดของบล็อกแล้ว ข้อมูลการแสดงผลจะแทรกช่องว่างของขนาดที่เลือกระหว่างแถว
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-25 UTC
[null,null,["อัปเดตล่าสุด 2025-07-25 UTC"],[[["\u003cp\u003eBlocks are visually arranged using rows and spacers, determined by render info, affecting the block's layout regardless of the number of inputs.\u003c/p\u003e\n"],["\u003cp\u003eRows are horizontal groupings of elements and spacers, with their size determined by the contained elements.\u003c/p\u003e\n"],["\u003cp\u003eRow spacers are vertical gaps between rows, with their size dictated by the render info to manage the overall block layout.\u003c/p\u003e\n"]]],["Blocks contain inputs, and their visual layout depends on the render info, which structures inputs into rows and spacer rows. Inline inputs create blocks with fewer rows than external inputs, despite having the same number of inputs. A Row consists of elements and element spacers, with its boundaries defined by these components. RowSpacers are empty spaces between rows; the render info determines their size and placement between rows.\n"],null,["# Rows\n\nBlocks are defined as a collection of inputs, but the [render info](/blockly/guides/create-custom-blocks/renderers/concepts/info)\ndetermines how these inputs get broken up into rows and spacer rows.\n\nFor example, when a block is set to [inline inputs](/blockly/guides/create-custom-blocks/define/inline-vs-external),\nthe block is made of fewer rows than when it is set to\n[external inputs](/blockly/guides/create-custom-blocks/define/inline-vs-external). It has the same number of inputs but\na different number of rows!\n\nRow\n---\n\nA [`Row`](/blockly/reference/js/blockly.blockrendering_namespace.row_class) is a horizontal collection of non-overlapping [elements](/blockly/guides/create-custom-blocks/renderers/concepts/elements)\nand [element spacers](/blockly/guides/create-custom-blocks/renderers/concepts/elements#element_spacer).\n\nThe bounds of a row are determined by the bounds of the [elements](/blockly/guides/create-custom-blocks/renderers/concepts/elements) and\n[spacers](/blockly/guides/create-custom-blocks/renderers/concepts/elements#element_spacer) that belong to that row, so that all of the elements\nare contained.\n\nRow spacer\n----------\n\nA [`RowSpacer`](/blockly/reference/js/blockly.blockrendering_namespace.spacerrow_class) is an empty vertical space that goes between two\nrows.\n\nThe bounds of the row spacers are determined by the\n[render info](/blockly/guides/create-custom-blocks/renderers/concepts/info) itself. After measuring all of the rows of the block,\nthe [render info](/blockly/guides/create-custom-blocks/renderers/concepts/info) inserts spaces of its chosen size between rows."]]