AspectRatioContainer

Inherits: Container < Control < CanvasItem < Node < Object

保留其子控件长宽比的容器。

描述

以一种方式安排子控件,以便在容器调整大小时自动保留其长宽比。解决了容器大小是动态的,而内容的大小需要相应调整而不失去比例的问题。

属性

AlignMode

alignment_horizontal

1

AlignMode

alignment_vertical

1

float

ratio

1.0

StretchMode

stretch_mode

2

枚举

enum StretchMode:

  • STRETCH_WIDTH_CONTROLS_HEIGHT = 0 —- 子控件的高度会根据容器的宽度自动调整。

  • STRETCH_HEIGHT_CONTROLS_WIDTH = 1 —- 子控件的宽度会根据容器的高度自动调整。

  • STRETCH_FIT = 2 —- 子控件的边界矩形会自动调整以适应容器,同时保持长宽比。

  • STRETCH_COVER = 3 —- 子控件的宽度和高度被自动调整,以使其边界矩形覆盖容器的整个区域,同时保持长宽比。

当子控件的边界矩形超过容器的大小,并且Control.rect_clip_content被启用时,这仅允许显示受其自身边界矩形限制的容器区域。


enum AlignMode:

  • ALIGN_BEGIN = 0 —- 将子控件与容器的开头对齐,左侧或顶部。

  • ALIGN_CENTER = 1 —- 使子控件与容器的中心对齐。

  • ALIGN_END = 2 —- 将子控件与容器的末端对齐,右侧或底部。

属性说明

Default

1

Setter

set_alignment_horizontal(value)

Getter

get_alignment_horizontal()

指定子控件的水平相对位置。


Default

1

Setter

set_alignment_vertical(value)

Getter

get_alignment_vertical()

指定子控件的垂直相对位置。


Default

1.0

Setter

set_ratio(value)

Getter

get_ratio()

对子控件强制实施的长宽比。这是宽度除以高度。这个比例取决于stretch_mode


Default

2

Setter

set_stretch_mode(value)

Getter

get_stretch_mode()

用来对齐子控件的拉伸模式。