鸿蒙OS MagicLayout

MagicLayout

java.lang.Object

|—ohos.agp.components.Component

|—|—ohos.agp.components.ComponentContainer

|—|—|—ohos.agp.components.MagicLayout

public class MagicLayout
extends ComponentContainer

表示可以自适应调整组件位置和大小的布局。

MagicLayout 中的组件有七种自适应特性,包括环绕、拉伸、缩放、扩展、比例、均衡和隐藏。

  • 包装功能:当当前行空间不足时,MagicLayout 中的组件将被放到下一行。如果组件在布局中垂直排列,则环绕功能将不起作用。
  • 拉伸功能:MagicLayout 中的组件可以水平或垂直拉伸以适应布局。
  • 缩放功能:MagicLayout 中的组件可以缩放以适应布局。
  • 扩展功能:MagicLayout中可以显示的组件数量因容器而异。
  • 比例特性:MagicLayout 中的指定组件始终按比例排列。
  • 均衡特性:MagicLayout 中的组件可以适应布局的大小变化,相邻组件之间的间距相同。
  • 隐藏功能:MagicLayout 中的组件以定义的优先级在水平或垂直方向显示。如果当前布局没有足够的可用空间,则可能会隐藏优先级较低的组件。

Since:

5

嵌套类摘要

修饰符和类型 描述
static class MagicLayout.LayoutConfig 指定 MagicLayout 中组件的布局参数。
从类 ohos.agp.components.Component 继承的嵌套类/接口
Component.BindStateChangedListener, Component.CanAcceptScrollListener, Component.ClickedListener, Component.ComponentStateChangedListener, Component.ContourRefreshedListener, Component.DefSpeechEventListener, Component.DoubleClickedListener, Component.DragFeedbackProvider, Component.DraggedListener, Component.DrawTask, Component.EditEventListener, Component.EstimateSizeListener, Component.EstimateSpec, Component.FadeEffectEnum, Component.FocusChangedListener, Component.ForwardHoverListener, Component.ForwardTouchListener, Component.GestureType, Component.HoverEventListener, Component.KeyEventListener, Component.LayoutDirection, Component.LayoutRefreshedListener, Component.LongClickedListener, Component.MeasureSpec, Component.MouseEventListener, Component.MousePointerStyleListener, Component.OnDragListener, Component.RotationEventListener, Component.ScaledListener, Component.ScrolledListener, Component.ShadowDevice, Component.ShadowMode, Component.ShadowSize, Component.SpeechEventListener, Component.TouchEventListener, Component.UnconsumedKeyEventListener, Component.VoiceEvent
从类 ohos.agp.components.ComponentContainer 继承的嵌套类/接口
ComponentContainer.ArrangeListener

字段摘要

修饰符和类型 字段 描述
static int EQUALIZE_DEFAULT 表示 MagicLayout 的边缘参与均衡操作。
static int EQUALIZE_NEAR_EDGE 表示 MagicLayout 的边缘不参与均衡操作。
static int FOLD_OBVERSE 表示两个相邻的组件被包裹起来,左边的留在当前行,右边的放在下一行。
static int FOLD_REVERSE 表示两个相邻的组件被包裹起来,右边的一个留在当前行,左边的放在下一行。
从类 ohos.agp.components.Component 继承的字段
ACCESSIBILITY_ADAPTABLE, ACCESSIBILITY_DISABLE, ACCESSIBILITY_ENABLE, AXIS_X, AXIS_Y, CONTOUR_BACKGROUND, CONTOUR_BORDER, CONTOUR_PADDING_BORDER, DEFAULT_SCALE, DRAG_DOWN, DRAG_HORIZONTAL, DRAG_HORIZONTAL_VERTICAL, DRAG_LEFT, DRAG_RIGHT, DRAG_UP, DRAG_VERTICAL, EVENT_TYPE_COMPONENT_ACCESSIBILITY_FOCUSED, EVENT_TYPE_COMPONENT_ACCESSIBILITY_FOCUSED_CLEAR, EVENT_TYPE_COMPONENT_CLICKED, EVENT_TYPE_COMPONENT_FOCUSED, EVENT_TYPE_COMPONENT_LONG_CLICKED, EVENT_TYPE_COMPONENT_SCROLLED, EVENT_TYPE_COMPONENT_SELECTED, EVENT_TYPE_COMPONENT_TEXT_UPDATE, EVENT_TYPE_NOTICE, EVENT_TYPE_NOTIFICATION_STATE_UPDATE, EVENT_TYPE_TOAST_SHOW, EVENT_TYPE_WINDOW_STATE_UPDATE, FOCUS_ADAPTABLE, FOCUS_DISABLE, FOCUS_ENABLE, FOCUS_NEXT, FOCUS_PREVIOUS, FOCUS_SIDE_BOTTOM, FOCUS_SIDE_LEFT, FOCUS_SIDE_RIGHT, FOCUS_SIDE_TOP, HIDE, HORIZONTAL, ID_DEFAULT, INHERITED_MODE, INVISIBLE, mBackgroundElement, mCanvasForTaskOverContent, mCanvasForTaskUnderContent, mComponentParent, mContext, mDrawTaskOverContent, mDrawTaskUnderContent, mEstimateSizeListener, mForegroundElement, mForwardHoverListener, mHoverEventListener, mKeyEventListener, mMouseEventListener, mPosition, mRotationEventListener, mShadowElement, mUnconsumedKeyEventListener, OVAL_MODE, OVAL_SCROLL_BAR_MODE, POSITION_X_INDEX, POSITION_Y_INDEX, RECT_MODE, RECT_SCROLL_BAR_MODE, SCROLL_AUTO_STAGE, SCROLL_IDLE_STAGE, SCROLL_NORMAL_STAGE, UNSPECIFIED_SCROLL_BAR_MODE, VERTICAL, VISIBLE
从类 ohos.agp.components.ComponentContainer 继承的字段
FOCUS_CHILDREN_FIRST, FOCUS_CHILDREN_HIDE, FOCUS_PARENT_FIRST, mArrangeListener

构造函数摘要

构造函数 描述
MagicLayout(Context context) 用于使用默认属性集和样式创建 MagicLayout 实例的构造函数。
MagicLayout(Context context, AttrSet attrSet) 用于在解析 XML 文件后创建具有默认属性集的 MagicLayout 的构造函数。
MagicLayout(Context context, AttrSet attrSet, String styleName) 用于在 XML 文件解析后创建具有默认属性集和样式的 MagicLayout 的构造函数。

方法总结

修饰符和类型 方法 描述
ComponentContainer.LayoutConfig createLayoutConfig(Context context, AttrSet attrSet) 使用子组件的属性集创建布局参数。
int getAlignment() 获取布局中组件的对齐方式。
int getDefaultExtendMargin() 获取 MagicLayout 中组件之间的默认边距。
int getEqualizeType() 获取均衡类型。
int getExtendRevealLength() 获取MagicLayout中具有扩展功能的组件的显示长度。
int getFoldAlignment() 执行换行后,获取每行中组件的对齐方式。
int getFoldDirection() 获取换行的方向。
int getMaxEqualizeMargin() 获取 MagicLayout 中组件之间的最大边距以进行均衡操作。
int getMaxHeight() 获取 MagicLayout 的最大高度。
int getMaxWidth() 获取 MagicLayout 的最大宽度。
int getMinEqualizeMargin() 获取 MagicLayout 中组件之间的最小边距以进行均衡操作。
int getMinExtendMargin() 获取 MagicLayout 中组件之间的最小边距以进行扩展操作。
int getOrientation() 获取组件在布局中的排列方向。
boolean isEqualizeEnabled() 检查是否启用了均衡功能。
boolean isExtendEnabled() 检查是否启用了扩展功能。
boolean isExtendRevealEnabled() 检查是否可以显示在 MagicLayout 中启用扩展功能的组件。
boolean isFoldEnabled() 检查是否启用了换行。
boolean isHideEnabled() 检查是否启用了隐藏功能。
boolean isHorizontalStretchEnabled() 检查是否启用了水平拉伸功能。
boolean isScaleEnabled() 检查是否启用了缩放功能。
boolean isVerticalStretchEnabled() 检查是否启用了垂直拉伸功能。
boolean isWeightEnabled() 检查是否启用了比例功能。
void setAlignment(int alignment) 设置组件如何在 MagicLayout 的剩余空间(如果有)中对齐。
void setDefaultExtendMargin(int defaultMargin) 设置 MagicLayout 布局中组件之间的默认边距。
void setEqualizeEnabled(boolean isEnabled) 设置是否启用均衡功能。
void setEqualizeType(int equalizeType) 设置均衡类型。
void setExtendEnabled(boolean isEnabled) 设置是否启用扩展功能。
void setExtendRevealEnabled(boolean isEnabled) 设置是否可以显示在 MagicLayout 中启用扩展功能的组件。
void setExtendRevealLength(int revealLength) 在 MagicLayout 中设置具有扩展功能的组件的显示长度。
void setFoldAlignment(int foldAlignment) 设置换行后每行中的组件如何对齐。
void setFoldDirection(int foldDirection) 设置换行的方向,默认为 MagicLayout.FOLD_OBVERSE。
void setFoldEnabled(boolean isFoldEnabled) 设置是否允许换行,如果当前行没有足够的空间,则将组件放置到下一行。
void setHideEnabled(boolean isEnabled) 设置是否启用隐藏功能。
void setHorizontalStretchEnabled(boolean isEnabled) 设置是否启用水平拉伸功能。
void setMaxEqualizeMargin(int maxMargin) 为均衡操作设置 MagicLayout 中组件之间的最大边距。
void setMaxHeight(int maxHeight) 设置 MagicLayout 的最大高度。
void setMaxWidth(int maxWidth) 设置 MagicLayout 的最大宽度。
void setMinEqualizeMargin(int minMargin) 为均衡操作设置 MagicLayout 中组件之间的最小边距。
void setMinExtendMargin(int minMargin) 为扩展操作设置 MagicLayout 中组件之间的最小边距。
void setMinHeight(int minHeight) 设置 MagicLayout 的最小高度。
void setMinWidth(int minWidth) 设置 MagicLayout 的最小宽度。
void setOrientation(int orientation) 设置组件在布局中的排列方向。
void setScaleEnabled(boolean isEnabled) 设置是否开启缩放功能。
void setVerticalStretchEnabled(boolean isEnabled) 设置是否启用垂直拉伸功能。
void setWeightEnabled(boolean isEnabled) 设置是否启用比例功能。
ComponentContainer.LayoutConfig verifyLayoutConfig(ComponentContainer.LayoutConfig config) 根据当前布局类型验证布局参数。
从类 ohos.agp.components.Component 继承的方法
addDrawTask, addDrawTask, addScrolledListener, announceAccessibility, arrange, bindCornerMark, callOnClick, canScroll, clearFocus, createAnimatorProperty, disableFadeEffect, draw, enableCornerMark, enableFadeEffect, enableSaveState, enableScrollBar, estimateSize, executeDoubleClick, executeLongClick, findFocus, findNextFocusableComponent, findRequestNextFocus, getAccessibility, getAccessibilityDescription, getAlpha, getAltitude, getBackgroundElement, getBaseLine, getBottom, getBoundaryFadeEffectBottomRate, getBoundaryFadeEffectLeftRate, getBoundaryFadeEffectRightRate, getBoundaryFadeEffectTopRate, getCenterZoomFactor, getCentralScrollMode, getClickedListener, getClipEnabled, getComponentDescription, getComponentMinSize, getComponentParent, getComponentPosition, getComponentSize, getComponentStateChangedListener, getComponentTreeObserver, getContentEnable, getContentPosition, getContentPositionX, getContentPositionY, getContext, getContour, getContourRefreshedListener, getCornerMark, getDragAcceptAngle, getDraggedListener, getEditEventListener, getEstimatedHeight, getEstimatedWidth, getFadeEffectBoundaryWidth, getFadeEffectColor, getFocusable, getFocusBorderEnable, getFocusBorderPadding, getFocusBorderRadius, getFocusBorderWidth, getForegroundElement, getForegroundGravity, getForwardHoverListener, getForwardTouchListener, getGesturePriority, getHeight, getHorizontalPadding, getHorizontalPosition, getHoverEventListener, getId, getKeyEventListener, getLayoutConfig, getLayoutDirection, getLayoutDirectionResolved, getLayoutRefreshedListener, getLeft, getLocationOnScreen, getMarginBottom, getMarginLeft, getMarginRight, getMargins, getMarginsLeftAndRight, getMarginsTopAndBottom, getMarginTop, getMatrix, getMinHeight, getMinWidth, getMode, getModeResolved, getMouseEventListener, getMousePointerStyleListener, getName, getPadding, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getPivot, getPivotX, getPivotY, getResourceManager, getRight, getRotation, getRotationEventListener, getRotationSensitivity, getScale, getScaledListener, getScaleX, getScaleY, getScrollbarBackgroundColor, getScrollbarColor, getScrollbarFadingDelay, getScrollbarFadingDuration, getScrollBarMode, getScrollbarRadius, getScrollbarRoundRect, getScrollbarStartAngle, getScrollbarSweepAngle, getScrollbarThickness, getScrollState, getScrollValue, getSelfVisibleRect, getShadowColor, getSpeechEventListener, getTag, getTop, getTouchEventListener, getTransitionSymbol, getTranslation, getTranslationX, getTranslationY, getTranslationZ, getUserNextFocus, getVerticalPadding, getVerticalPosition, getVisibility, getVisibleRectOnScreen, getWidth, getWindowVisibleRect, hasFocus, hasFocusedEffect, hasOverlaps, hideFocusBorder, invalidate, isBoundaryFadeEffectEnable, isBoundToWindow, isClickable, isClipToContourEnabled, isComponentDisplayed, isEnabled, isFadeEffected, isFocusable, isFocused, isIdentityMatrix, isLongClickOn, isPressed, isRtl, isSaveStateEnabled, isScrollbarFadingOn, isScrollBarOn, isScrollbarOverlapEnabled, isSelected, isSoundEnable, isTouchFocusable, isVibrationEffectEnabled, notifyAccessibility, onAttributeConfigChanged, onRestoreState, onRtlChanged, onSaveState, performScale, playSound, postLayout, refreshContour, release, removeBindStateChangedListener, removeScrolledListener, requestFocus, requestForceForwardTouchEvent, restoreComponentTreeState, saveComponentTreeState, scrollBy, scrollTo, setAccessibility, setAccessibilityDescription, setAlpha, setAltitude, setBackground, setBindStateChangedListener, setBottom, setBoundaryFadeEffectEnable, setCanAcceptScrollListener, setCenterZoomFactor, setCentralScrollMode, setClickable, setClickedListener, setClipEnabled, setClipToContourEnabled, setComponentDescription, setComponentMinSize, setComponentPosition, setComponentPosition, setComponentSize, setComponentStateChangedListener, setContentEnable, setContentPosition, setContentPositionX, setContentPositionY, setContour, setContourRefreshedListener, setDoubleClickedListener, setDragAcceptAngle, setDraggedListener, setEditEventListener, setEnabled, setEstimatedSize, setEstimateSizeListener, setFadeEffectBoundaryWidth, setFadeEffectColor, setFocusable, setFocusBorderEnable, setFocusBorderPadding, setFocusBorderRadius, setFocusBorderRadius, setFocusBorderWidth, setFocusChangedListener, setFocusedEffect, setForeground, setForegroundGravity, setForwardHoverListener, setForwardTouchListener, setGesturePriority, setHeight, setHorizontalPadding, setHorizontalPosition, setHoverEventListener, setId, setKeyEventListener, setLayoutConfig, setLayoutDirection, setLayoutRefreshedListener, setLeft, setLongClickable, setLongClickedListener, setMarginBottom, setMarginLeft, setMarginRight, setMarginsLeftAndRight, setMarginsTopAndBottom, setMarginTop, setMode, setMouseEventListener, setMousePointerStyleListener, setName, setOnDragListener, setPadding, setPaddingBottom, setPaddingLeft, setPaddingRelative, setPaddingRight, setPaddingTop, setPivot, setPivot, setPivotX, setPivotY, setPosition, setPositionX, setPositionY, setPressState, setRight, setRotation, setRotationEventListener, setRotationSensitivity, setScale, setScaledListener, setScaleX, setScaleY, setScrollbarBackgroundColor, setScrollbarColor, setScrollbarFadingDelay, setScrollbarFadingDuration, setScrollbarFadingEnabled, setScrollBarMode, setScrollbarOverlapEnabled, setScrollbarRadius, setScrollbarRoundRect, setScrollbarStartAngle, setScrollbarSweepAngle, setScrollbarThickness, setScrolledListener, setSelected, setShadowColor, setShadowStyle, setSoundEnable, setSpeechEventListener, setTag, setTop, setTouchEventListener, setTouchFocusable, setTransitionSymbol, setTranslation, setTranslationX, setTranslationY, setTranslationZ, setUnconsumedKeyEventListener, setUserNextFocus, setVerticalPadding, setVerticalPosition, setVibrationEffectEnabled, setVisibility, setWidth, showFocusBorder, simulateClick, simulateDrag, startDragAndDrop, subscribeVoiceEvents, unsubscribeVoiceEvents
从类 ohos.agp.components.ComponentContainer 继承的方法
addComponent, addComponent, addComponent, addComponent, addComponent, dispatchRestoreState, dispatchSaveState, findComponentById, findComponentHolderById, getAutoLayout, getChildCount, getChildIndex, getComponentAt, getComponentTransition, getFocusOrder, getLayoutManager, informConfigurationChanged, isClipToChildBoundsEnabled, isClipToPaddingBoundsEnabled, isTouchEventSplitable, moveChildToFront, onDrag, removeAllComponents, removeComponent, removeComponentAt, removeComponentById, removeComponents, setArrangeListener, setAutoLayout, setAutoLayout, setClipToChildBoundsEnabled, setClipToPaddingBoundsEnabled, setComponentTransition, setFocusOrder, setLayoutManager, setTouchEventSplitable
从接口 ohos.agp.components.ComponentParent 继承的方法
getComponentParent, postLayout
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

EQUALIZE_DEFAULT

public static final int EQUALIZE_DEFAULT

表示 MagicLayout 的边缘参与均衡操作。

Since:

7

EQUALIZE_NEAR_EDGE

public static final int EQUALIZE_NEAR_EDGE

表示 MagicLayout 的边缘不参与均衡操作。

Since:

7

FOLD_OBVERSE

public static final int FOLD_OBVERSE

表示两个相邻的组件被包裹起来,左边的留在当前行,右边的放在下一行。

Since:

5

FOLD_REVERSE

public static final int FOLD_REVERSE

表示两个相邻的组件被包裹起来,右边的一个留在当前行,左边的放在下一行。

Since:

5

构造函数详细信息

MagicLayout

public MagicLayout(Context context)

用于使用默认属性集和样式创建 MagicLayout 实例的构造函数。

参数:

参数名称 参数描述
context 指示应用程序上下文。

Since:

5

MagicLayout

public MagicLayout(Context context, AttrSet attrSet)

用于在解析 XML 文件后创建具有默认属性集的 MagicLayout 的构造函数。

参数:

参数名称 参数描述
context 指示应用程序上下文。
attrSet 指示要使用的属性集。

Since:

5

MagicLayout

public MagicLayout(Context context, AttrSet attrSet, String styleName)

用于在 XML 文件解析后创建具有默认属性集和样式的 MagicLayout 的构造函数。

参数:

参数名称 参数描述
context 指示应用程序上下文。
attrSet 指示要使用的属性集。
styleName 指示要使用的样式的名称。

Since:

5

方法详情

setAlignment

public void setAlignment(int alignment)

设置组件如何在 MagicLayout 的剩余空间(如果有)中对齐。 水平方向默认值为 LayoutAlignment.START,垂直方向默认值为 LayoutAlignment.TOP。

参数:

参数名称 参数描述
alignment 指示组件对齐方式,如 LayoutAlignment 中所列举的。

Since:

5

setOrientation

public void setOrientation(int orientation)

设置组件在布局中的排列方向。

参数:

参数名称 参数描述
orientation 指示组件排列的方向,可以是 Component.HORIZONTAL 或 Component.VERTICAL。

Since:

5

setFoldEnabled

public void setFoldEnabled(boolean isFoldEnabled)

设置是否允许换行,如果当前行没有足够的空间,则将组件放置到下一行。

如果布局的宽度为 MATCH_CONTENT 或方向为 Component.VERTICAL,则换行无论如何都不会生效。 当组件的宽度为 MATCH_CONTENT 时,换行可能会导致它的一部分不可见。

参数:

参数名称 参数描述
isFoldEnabled 指定是否启用换行。 true 表示启用换行; false 表示相反的情况。

Since:

5

setFoldDirection

public void setFoldDirection(int foldDirection)

设置换行的方向,默认为 MagicLayout.FOLD_OBVERSE。

参数:

参数名称 参数描述
foldDirection 指示如何包装两个并排组件。 FOLD_OBVERSE 表示它们的包装方式是左边的保留在当前行,而右边的放在下一行。 FOLD_REVERSE 表示它们的包装方式是右边的保留在当前行,而左边的放在下一行。

Since:

5

setFoldAlignment

public void setFoldAlignment(int foldAlignment)

设置换行后每行中的组件如何对齐。

垂直对齐方式对同一行的组件生效,水平对齐方式对不同行的组件生效。

参数:

参数名称 参数描述
foldAlignment 表示组件对齐方式。 水平方向默认值为 LayoutAlignment.START,垂直方向默认值为 LayoutAlignment.TOP。

Since:

5

getAlignment

public int getAlignment()

获取布局中组件的对齐方式。

返回:

返回组件对齐模式。

Since:

5

getOrientation

public int getOrientation()

获取组件在布局中的排列方向。

返回:

返回 Component.HORIZONTAL 或 Component.VERTICAL。

Since:

5

isFoldEnabled

public boolean isFoldEnabled()

检查是否启用了换行。

返回:

如果启用换行,则返回 {code true}; 否则返回 false。

Since:

5

getFoldDirection

public int getFoldDirection()

获取换行的方向。

返回:

根据如何通过 setFoldDirection(int) 设置环绕方向,返回 FOLD_OBVERSE 或 FOLD_REVERSE。

Since:

5

getFoldAlignment

public int getFoldAlignment()

执行换行后,获取每行中组件的对齐方式。

返回:

返回每行中组件的对齐方式。

Since:

5

setHorizontalStretchEnabled

public void setHorizontalStretchEnabled(boolean isEnabled)

设置是否启用水平拉伸功能。

参数:

参数名称 参数描述
isEnabled 指定是否启用水平拉伸功能。 true 意味着启用它; false 表示相反的情况。

Since:

7

isHorizontalStretchEnabled

public boolean isHorizontalStretchEnabled()

检查是否启用了水平拉伸功能。

返回:

如果启用了水平拉伸功能,则返回 true; 否则返回 false。

Since:

7

setVerticalStretchEnabled

public void setVerticalStretchEnabled(boolean isEnabled)

设置是否启用垂直拉伸功能。

参数:

参数名称 参数描述
isEnabled 指定是否启用垂直拉伸功能。 true 意味着启用它; false 表示相反的情况。

Since:

7

isVerticalStretchEnabled

public boolean isVerticalStretchEnabled()

检查是否启用了垂直拉伸功能。

返回:

如果启用了垂直拉伸功能,则返回 true; 否则返回 false。

Since:

7

setWeightEnabled

public void setWeightEnabled(boolean isEnabled)

设置是否启用比例功能。

参数:

参数名称 参数描述
isEnabled 指定是否启用比例功能。 true 意味着启用它; false 表示相反的情况。

Since:

7

isWeightEnabled

public boolean isWeightEnabled()

检查是否启用了比例功能。

返回:

如果启用了比例功能,则返回 true; 否则返回 false。

Since:

7

isScaleEnabled

public boolean isScaleEnabled()

检查是否启用了缩放功能。

返回:

如果启用了缩放功能,则返回 true; 否则返回 false。

Since:

7

setScaleEnabled

public void setScaleEnabled(boolean isEnabled)

设置是否开启缩放功能。

参数:

参数名称 参数描述
isEnabled 指定是否启用缩放功能。 true 意味着启用它; false 表示相反的情况。

Since:

7

getMaxWidth

public int getMaxWidth()

获取 MagicLayout 的最大宽度。

返回:

返回最大宽度,默认为 Integer.MAX_VALUE。

Since:

7

setMaxWidth

public void setMaxWidth(int maxWidth)

设置 MagicLayout 的最大宽度。

参数:

参数名称 参数描述
maxWidth 表示要设置的最大宽度,在 [0, Integer.MAX_VALUE] 范围内。

Since:

7

getMaxHeight

public int getMaxHeight()

获取 MagicLayout 的最大高度。

返回:

返回最大高度,默认为 Integer.MAX_VALUE。

Since:

7

setMaxHeight

public void setMaxHeight(int maxHeight)

设置 MagicLayout 的最大高度。

参数:

参数名称 参数描述
maxHeight 表示要设置的最大高度,在 [0, Integer.MAX_VALUE] 范围内。

Since:

7

setExtendEnabled

public void setExtendEnabled(boolean isEnabled)

设置是否启用扩展功能。

参数:

参数名称 参数描述
isEnabled true 指定是否启用扩展功能。 true 意味着启用它; false(默认值)表示相反的情况。

Since:

7

isExtendEnabled

public boolean isExtendEnabled()

检查是否启用了扩展功能。

返回:

如果启用了扩展功能,则返回 true; 否则返回 false。

Since:

7

setExtendRevealEnabled

public void setExtendRevealEnabled(boolean isEnabled)

设置是否可以显示在 MagicLayout 中启用扩展功能的组件。

参数:

参数名称 参数描述
isEnabled 指定是否可以显示在 MagicLayout 中启用扩展功能的组件。 true 表示可以显示组件; false(默认值)表示相反的情况。

Since:

7

isExtendRevealEnabled

public boolean isExtendRevealEnabled()

检查是否可以显示在 MagicLayout 中启用扩展功能的组件。

返回:

如果组件可以显示,则返回 true; 否则返回 false。

Since:

7

setExtendRevealLength

public void setExtendRevealLength(int revealLength)

在 MagicLayout 中设置具有扩展功能的组件的显示长度。

参数:

参数名称 参数描述
revealLength 表示要设置的显示长度,在 [0, Integer.MAX_VALUE] 范围内。

Since:

7

getExtendRevealLength

public int getExtendRevealLength()

获取MagicLayout中具有扩展功能的组件的显示长度。

返回:

返回组件的显示长度,默认为 16(在 vp 中)。

Since:

7

setDefaultExtendMargin

public void setDefaultExtendMargin(int defaultMargin)

设置 MagicLayout 布局中组件之间的默认边距。

参数:

参数名称 参数描述
defaultMargin 表示要设置的默认边距,在启用扩展功能时生效。

Since:

7

getDefaultExtendMargin

public int getDefaultExtendMargin()

获取 MagicLayout 中组件之间的默认边距。

返回:

返回通过 MagicLayout#setDefaultExtendMargin(int defaultMargin) 设置的默认边距。 如果不调用MagicLayout#setDefaultExtendMargin(int defaultMargin),则在可以显示具有扩展功能的组件的情况下返回16(在vp中),否则返回0(在vp中)。

Since:

7

setMinExtendMargin

public void setMinExtendMargin(int minMargin)

为扩展操作设置 MagicLayout 中组件之间的最小边距。

参数:

参数名称 参数描述
minMargin 指示要设置的最小边距,在 [0, Integer.MAX_VALUE] 范围内。

Since:

7

getMinExtendMargin

public int getMinExtendMargin()

获取 MagicLayout 中组件之间的最小边距以进行扩展操作。

返回:

返回最小边距。

Since:

7

setMinWidth

public void setMinWidth(int minWidth)

设置 MagicLayout 的最小宽度。

覆盖:

类 Component 中的 setMinWidth

参数:

参数名称 参数描述
minWidth 指示要设置的最小宽度,在 [0, Integer.MAX_VALUE] 范围内。

Since:

7

setMinHeight

public void setMinHeight(int minHeight)

设置 MagicLayout 的最小高度。

覆盖:

类 Component 中的 setMinHeight

参数:

参数名称 参数描述
minHeight 指示要设置的最小高度,在 [0, Integer.MAX_VALUE] 范围内。

Since:

7

setHideEnabled

public void setHideEnabled(boolean isEnabled)

设置是否启用隐藏功能。

参数:

参数名称 参数描述
isEnabled 指定是否启用隐藏功能。 true 意味着启用它; false 表示相反的情况。

Since:

7

isHideEnabled

public boolean isHideEnabled()

检查是否启用了隐藏功能。

返回:

如果启用了隐藏功能,则返回 true; 否则返回 false。

Since:

7

setEqualizeEnabled

public void setEqualizeEnabled(boolean isEnabled)

设置是否启用均衡功能。 均衡功能生效后生成的组件之间的边距可能与您通过 ComponentContainer.LayoutConfig#getLayoutConfig() 获得的边距不同。

参数:

参数名称 参数描述
isEnabled 指定是否启用均衡功能。 true 意味着启用它; false 表示相反的情况。

Since:

7

isEqualizeEnabled

public boolean isEqualizeEnabled()

检查是否启用了均衡功能。

返回:

如果启用均衡功能,则返回 true; 否则返回 false。

Since:

7

setEqualizeType

public void setEqualizeType(int equalizeType)

设置均衡类型。

参数:

参数名称 参数描述
equalizeType 表示要设置的均衡类型。 该值可以是 MagicLayout.EQUALIZE_DEFAULT 或 MagicLayout.EQUALIZE_NEAR_EDGE。 前者表示MagicLayout的边缘参与均衡操作,后者表示相反的情况。

Since:

7

getEqualizeType

public int getEqualizeType()

获取均衡类型。

返回:

返回 MagicLayout.EQUALIZE_DEFAULT 或 MagicLayout.EQUALIZE_NEAR_EDGE。 前者表示MagicLayout的边缘参与均衡操作,后者表示相反的情况。

Since:

7

setMaxEqualizeMargin

public void setMaxEqualizeMargin(int maxMargin)

为均衡操作设置 MagicLayout 中组件之间的最大边距。

参数:

参数名称 参数描述
maxMargin 表示要设置的最大边距,在 [0, Integer.MAX_VALUE] 范围内。

Since:

7

getMaxEqualizeMargin

public int getMaxEqualizeMargin()

获取 MagicLayout 中组件之间的最大边距以进行均衡操作。

返回:

返回最大边距。

Since:

7

setMinEqualizeMargin

public void setMinEqualizeMargin(int minMargin)

为均衡操作设置 MagicLayout 中组件之间的最小边距。

参数:

参数名称 参数描述
minMargin 指示要设置的最小边距,在 [0, Integer.MAX_VALUE] 范围内。

Since:

7

getMinEqualizeMargin

public int getMinEqualizeMargin()

获取 MagicLayout 中组件之间的最小边距以进行均衡操作。

返回:

返回最小边距。

Since:

7

verifyLayoutConfig

public ComponentContainer.LayoutConfig verifyLayoutConfig(ComponentContainer.LayoutConfig config)

从类复制的描述:ComponentContainer

根据当前布局类型验证布局参数。

指定者:

接口 ComponentParent 中的 verifyLayoutConfig

覆盖:

ComponentContainer 类中的 verifyLayoutConfig

参数:

参数名称 参数描述
config 指示要转换为 ComponentContainer 实例的一组布局参数。

返回:

返回 LayoutConfig 实例,它表示布局参数。

createLayoutConfig

public ComponentContainer.LayoutConfig createLayoutConfig(Context context, AttrSet attrSet)

从类复制的描述:ComponentContainer

使用子组件的属性集创建布局参数。

覆盖:

ComponentContainer 类中的 createLayoutConfig

参数:

参数名称 参数描述
context 指示应用程序上下文。
attrSet 表示属性集。

返回:

返回创建的布局参数。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《鸿蒙OS MagicLayout》
文章链接:https://zhuji.vsping.com/314349.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。