鸿蒙OS开发文档 鸿蒙OS ListComponent

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 1

ListComponent

java.lang.Object
|---ohos.agp.components.Component
|---|---ohos.agp.components.ComponentContainer
|---|---|---ohos.agp.components.ListComponent

public class ListComponent
extends ComponentContainer

一个容器类,用于显示可以在屏幕上上下滚动的列表。

嵌套类摘要

修饰符和类型描述
static interfaceListComponent.BounceBackListener实现监听反弹状态的变化,包括反弹开始、反弹进行中、反弹结束。
static interfaceListComponent.CachePolicyListener实现监听以将组件添加到 ListComponentPool。
static classListComponent.ListLayoutConfig继承自 ComponentContainer.LayoutConfig 并提供方法使 ListComponent 中的组件能够访问对应的 ComponentOwner。
static interfaceListComponent.OnComponentBoundStatusChangeListener实现监听 ListComponent 的状态变化。
static classListComponent.OnFlingListener实现监听。
static classListComponent.ReboundEffectParams提供参数来实现反弹效果。
从类 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, ComponentContainer.LayoutConfig

字段摘要

修饰符和类型字段描述
static intHORIZONTAL表示组件在 ListComponent 中水平排列。
static longINVALID_ID表示 ListComponent 中的组件 ID 无效。
static intINVALID_POSITION指示 ListComponent 中的无效组件位置。
static intINVALID_TYPE表示 ListComponent 中的组件类型无效。
static intITEM_TYPE_NO_SCALE_MASK表示不使用比例。
static intITEM_TYPE_NO_STICK_MASK表示不使用摇杆。
static intLIST_SCROLL_STATE_DRAGGING指示正在拖动 ListComponent。
static intLIST_SCROLL_STATE_IDLE表示 ListComponent 处于空闲状态。
static intLIST_SCROLL_STATE_SETTLING表示 ListComponent 正在被滑动。
static intUNDEFINED_DURATION表示未定义滚动持续时间。
static intVERTICAL表示组件在 ListComponent 中垂直排列。
从类 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, 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, VISIBLE
从类 ohos.agp.components.ComponentContainer 继承的字段
FOCUS_CHILDREN_FIRST, FOCUS_CHILDREN_HIDE, FOCUS_PARENT_FIRST, mArrangeListener

构造函数摘要

构造函数描述
ListComponent(Context context)用于根据默认属性集和样式创建 ListComponent 实例的构造函数。
ListComponent(Context context, AttrSet attrSet)用于根据指定的属性集和默认样式创建 ListComponent 实例的构造函数。
ListComponent(Context context, AttrSet attrSet, String styleName)用于根据指定的属性集和样式创建 ListComponent 实例的构造函数。

方法总结

修饰符和类型方法描述
voidaddBounceBackListener(ListComponent.BounceBackListener listener)为反弹状态更改添加侦听器。
voidaddCachePolicyListener(ListComponent.CachePolicyListener listener)为缓存策略添加侦听器。
voidaddComponent(Component childComponent)通过在内部调用 ComponentContainer.addComponent(ohos.agp.components.Component,int index) 将组件添加到队列的末尾。
voidaddComponent(Component childComponent, int index)将组件添加到指定位置。
voidaddComponent(Component childComponent, int width, int height)添加一个组件并设置其宽度和高度。
voidaddComponent(Component childComponent, int index, ComponentContainer.LayoutConfig layoutConfig)添加组件并设置其布局参数和位置。
voidaddComponent(Component childComponent, ComponentContainer.LayoutConfig layoutConfig)添加一个组件并设置其布局参数。
voidaddListAdornment(ListAdornment adorn)在此 ListComponent 的末尾添加一个 ListAdornment 对象。
voidaddListAdornment(ListAdornment adorn, int index)将 ListAdornment 对象添加到此 ListComponent 的指定位置。
voidaddOnComponentBoundStatusChangeListener(ListComponent.OnComponentBoundStatusChangeListener listener)添加一个侦听器,当子组件绑定到此 ListComponent 或从此 ListComponent 解除绑定时将通知该侦听器。
voidalignChildComponentXCoordinate(int dx)设置此 ListComponent 中所有子组件边界的水平像素偏移。
voidalignChildComponentYCoordinate(int dy)设置此 ListComponent 中所有子组件边界的垂直像素偏移。
voidclearBounceBackListeners()删除反弹状态更改的所有侦听器。
voidclearOnComponentBoundStatusChangeListener()当子组件绑定到此列表组件或从该列表组件解除绑定时,移除所有收到通知的侦听器。
protected voidcreateNativePtr()
booleanfling(int speedX, int speedY)以水平和垂直方向的初始速度触发此 ListComponent 的投掷。
voidgetAdornedBoundryIncludeMargin(Component component, Rect outBounds)获取子组件的边界,包括其装饰和边距。
longgetChildComponentId(Component child)获取此 ListComponent 中子组件的 ID。
ComponentOwnergetChildComponentOwner(Component child)获取子组件的 ComponentOwner。
intgetChildCount()获取子组件的数量。
intgetChildLayoutPosition(Component component)获取最近一次布局计算后子组件在提供者中的位置。
intgetChildProviderPosition(Component component)获取提供者中子组件的位置。
ComponentgetComponentAt(int position)使用索引获取子组件。
ComponentOwnergetComponentOwnerById(long id)根据子组件ID获取ComponentOwner。
ItemAnimationgetItemAnimation()获取 ItemAnimation 对象,该对象用于处理提供者更改时发生的动画。
ListAdornmentgetListAdornmentAt(int index)获取具有此 ListComponent 的给定索引的 ListAdornment 对象。
intgetListAdornmentCount()获取此 ListComponent 中的 ListAdornment 对象的数量。
ListComponentPoolgetListCachedPool()获取此 ListComponent 的回收池。
ListLayoutManagergetListLayoutManager()获取此 ListComponent 使用的 ListLayoutManager 对象。
intgetMaxFlingSpeed()获得触发投掷的最大速度。
intgetMinFlingSpeed()获得触发投掷的最小速度。
ProvidergetProvider()获取此 ListComponent 的提供者。
booleangetReboundEffect()检查反弹效果是否开启。
ListComponent.ReboundEffectParamsgetReboundEffectParams()以 ReboundEffectParams 对象的形式获取回弹效果参数。
booleangetRecoverfocusAfterRefresh()检查此 ListComponent 在布局计算后是否保持同一个子组件的焦点。
booleanhasIncomingProviderRefresh()检查是否存在尚未应用于布局的提供程序更新。
booleanisCalculatingLayout()检查此 ListComponent 是否正在计算布局。
booleanisListAnimating()检查此 ListComponent 是否正在运行动画。
booleanisPostponeLayout()检查此 ListComponent 的布局请求是否被推迟。
booleanisScrollingSmoothly()检查此 ListComponent 是否正在平滑滚动。
booleanisSizeFixed()检查此 ListComponent 的提供者是否具有固定大小。
voidonBounceBackChange(int xOverScrolled, int yOverScrolled)在反弹过程中调用。
voidonBounceBackEnd(int xOverScrolled, int yOverScrolled)反弹结束时调用。
voidonBounceBackStart(int xOverScrolled, int yOverScrolled)反弹开始时调用。
voidonComponentBoundToWindow(Component child)当子组件绑定到此 ListComponent 时调用。
voidonComponentUnboundFromWindow(Component child)当子组件与此 ListComponent 解除绑定时调用。
voidpostLayout()请求重新排列组件的布局。
voidpostponeLayout(boolean isPostponeLayout)设置是否推迟此 ListComponent 的布局请求。
voidrefreshListAdornments()主动刷新此 ListComponent 中的 ListAdornment 对象。
voidremoveAllComponents()清除 ComponentContainer 管理的所有组件。
voidremoveBounceBackListener(ListComponent.BounceBackListener listener)删除反弹状态更改的侦听器。
voidremoveCachePolicyListener(ListComponent.CachePolicyListener listener)删除缓存策略的侦听器。
voidremoveComponent(Component component)从父组件中移除子组件。
voidremoveComponentAt(int index)从组件列表中的指定位置移除组件。
voidremoveComponentById(int id)根据 ID 移除组件。
voidremoveComponents(int start, int count)从组件列表中的指定位置移除所有组件。
voidremoveListAdornment(ListAdornment decor)从此 ListComponent 中移除给定的 ListAdornment 对象。
voidremoveListAdornmentAt(int index)移除具有此 ListComponent 的给定索引的 ListAdornment 对象。
voidremoveOnComponentBoundStatusChangeListener(ListComponent.OnComponentBoundStatusChangeListener listener)移除在子组件绑定到此 ListComponent 或从此 ListComponent 解除绑定时收到通知的侦听器。
voidscrollBy(int x, int y)将此 ListComponent 滚动一个相对距离。
voidscrollByInSmoothMode(int dx, int dy)将此 ListComponent 平滑滚动一个相对距离。
voidscrollByInSmoothMode(int dx, int dy, Animator.TimelineCurve curve)根据滚动曲线以相对距离平滑滚动此 ListComponent。
voidscrollTo(int x, int y)将此 ListComponent 滚动到指定的水平和垂直坐标。
voidscrollToPosition(int position)将此 ListComponent 滚动到特定位置。
voidscrollToPositionInSmoothMode(int position)将此 ListComponent 平滑滚动到特定位置。
ComponentsearchChildComponentBelowPoint(float x, float y)根据屏幕上的坐标搜索子组件。
ComponentOwnersearchComponentOwnerForLayoutPosition(int position)根据指定位置在最新布局中搜索 ComponentOwner。
ComponentOwnersearchComponentOwnerForProviderPosition(int position)根据指定位置在提供者中搜索 ComponentOwner。
ComponentsearchParentComponentOfChild(Component component)搜索包含指定组件的子组件(grandchild 组件)。
ComponentOwnersearchParentComponentOwnerOfChild(Component component)搜索包含指定组件(grandchild 组件)的子组件的 ComponentOwner。
voidsetIsFixedSize(boolean isFixedSize)设置此 ListComponent 的提供者是否具有固定大小。
voidsetItemAnimation(ItemAnimation animation)设置一个 ItemAnimation 对象,用于处理提供者更改时发生的动画。
voidsetLayoutManager(LayoutManager layoutManager)设置一个 LayoutManager 实例,用于布局相关子组件。
voidsetListCachedPool(ListComponentPool pool)为此 ListComponent 设置回收池。
voidsetListLayoutManager(ListLayoutManager layoutManager)为此 ListComponent 设置一个 ListLayoutManager 对象。
voidsetOnFlingListener(ListComponent.OnFlingListener listener)为此 ListComponent 设置一个 OnFlingListener。
voidsetProvider(Provider provider)设置此 ListComponent 的提供程序。
voidsetReboundEffect(boolean enabled)设置是否开启反弹效果。
voidsetReboundEffectParams(int overscrollPercent, float overscrollRate, int remainVisiblePercent)设置回弹效果参数。
voidsetReboundEffectParams(ListComponent.ReboundEffectParams reboundEffectParams)使用 ReboundEffectParams 对象设置回弹效果参数。
voidsetRecoverfocusAfterRefresh(boolean recoverFocusAfterRefresh)设置此 ListComponent 在布局计算后是否保持同一个子组件的焦点。
voidsetRequestedCacheMax(int count)设置可以缓存的屏幕外组件的最大数量。
voidstopScroll()停止当前滚动。
voidswitchProvider(Provider provider, boolean deleteAndReuseComponents)将此 ListComponent 的提供者替换为新的提供者。
ComponentContainer.LayoutConfigverifyLayoutConfig(ComponentContainer.LayoutConfig config)自定义一个 LayoutConfig 对象,使 ComponentOwner 拥有 ListLayoutManager 的元数据。
从类 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, refreshContour, release, removeBindStateChangedListener, removeScrolledListener, requestFocus, requestForceForwardTouchEvent, restoreComponentTreeState, saveComponentTreeState, 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, setMinHeight, setMinWidth, 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 继承的方法
createLayoutConfig, dispatchRestoreState, dispatchSaveState, findComponentById, findComponentHolderById, getAutoLayout, getChildIndex, getComponentTransition, getFocusOrder, getLayoutManager, informConfigurationChanged, isClipToChildBoundsEnabled, isClipToPaddingBoundsEnabled, isTouchEventSplitable, moveChildToFront, onDrag, setArrangeListener, setAutoLayout, setAutoLayout, setClipToChildBoundsEnabled, setClipToPaddingBoundsEnabled, setComponentTransition, setFocusOrder, setTouchEventSplitable
从接口 ohos.agp.components.ComponentParent 继承的方法
getComponentParent
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

HORIZONTAL

public static final int HORIZONTAL

表示组件在 ListComponent 中水平排列。

INVALID_ID

public static final long INVALID_ID

表示 ListComponent 中的组件 ID 无效。

INVALID_POSITION

public static final int INVALID_POSITION

指示 ListComponent 中的无效组件位置。

INVALID_TYPE

public static final int INVALID_TYPE

表示 ListComponent 中的组件类型无效。

ITEM_TYPE_NO_SCALE_MASK

public static final int ITEM_TYPE_NO_SCALE_MASK

表示不使用比例。

ITEM_TYPE_NO_STICK_MASK

public static final int ITEM_TYPE_NO_STICK_MASK

表示不使用摇杆。

LIST_SCROLL_STATE_DRAGGING

public static final int LIST_SCROLL_STATE_DRAGGING

指示正在拖动 ListComponent。

LIST_SCROLL_STATE_IDLE

public static final int LIST_SCROLL_STATE_IDLE

表示 ListComponent 处于空闲状态。

LIST_SCROLL_STATE_SETTLING

public static final int LIST_SCROLL_STATE_SETTLING

表示 ListComponent 正在被滑动。

UNDEFINED_DURATION

public static final int UNDEFINED_DURATION

表示未定义滚动持续时间。

VERTICAL

public static final int VERTICAL

表示组件在 ListComponent 中垂直排列。

构造函数详细信息

ListComponent

public ListComponent(Context context)

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

参数:

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

ListComponent

public ListComponent(Context context, AttrSet attrSet)

用于根据指定的属性集和默认样式创建 ListComponent 实例的构造函数。

参数:

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

ListComponent

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

用于根据指定的属性集和样式创建 ListComponent 实例的构造函数。

参数:

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

方法详情

createNativePtr

protected void createNativePtr()

addComponent

public void addComponent(Component childComponent)

通过在内部调用 ComponentContainer.addComponent(ohos.agp.components.Component,int index) 将组件添加到队列的末尾。

覆盖:

类 ComponentContainer 中的 addComponent

参数:

参数名称参数描述
childComponent指示要添加的子组件。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

addComponent

public void addComponent(Component childComponent, int width, int height)

添加一个组件并设置其宽度和高度。

覆盖:

类 ComponentContainer 中的 addComponent

参数:

参数名称参数描述
childComponent指示要添加的子组件。
width指示子组件的宽度,以像素为单位。
height指示子组件的高度,以像素为单位。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

addComponent

public void addComponent(Component childComponent, ComponentContainer.LayoutConfig layoutConfig)

添加一个组件并设置其布局参数。

覆盖:

类 ComponentContainer 中的 addComponent

参数:

参数名称参数描述
childComponent指示要添加的子组件。
layoutConfig表示子组件的布局参数。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

addComponent

public void addComponent(Component childComponent, int index, ComponentContainer.LayoutConfig layoutConfig)

添加组件并设置其布局参数和位置。

覆盖:

类 ComponentContainer 中的 addComponent

参数:

参数名称参数描述
childComponent指示要添加的子组件。
index指示添加子组件的位置。 值 -1 表示将子组件添加到队列的末尾。
layoutConfig表示子组件的布局参数。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

addComponent

public void addComponent(Component childComponent, int index)

将组件添加到指定位置。

如果没有为该子组件设置布局参数,则使用 ComponentContainer 的默认布局参数。

覆盖:

类 ComponentContainer 中的 addComponent

参数:

参数名称参数描述
childComponent指示要添加的子组件。
index指示添加子组件的位置。 值 -1 表示将组件添加到末尾。 如果提供的数字大于 getChildCount() 的值,则返回运行时异常。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

removeComponent

public void removeComponent(Component component)

从父组件中移除子组件。

指定者:

接口 ComponentParent 中的 removeComponent

覆盖:

ComponentContainer 类中的 removeComponent

参数:

参数名称参数描述
component指示要移除的子组件。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

removeComponentAt

public void removeComponentAt(int index)

从组件列表中的指定位置移除组件。

指定者:

接口 ComponentParent 中的 removeComponentAt

覆盖:

ComponentContainer 类中的 removeComponentAt

参数:

参数名称参数描述
index指示要移除的组件的位置索引。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

removeComponentById

public void removeComponentById(int id)

根据 ID 移除组件。

覆盖:

ComponentContainer 类中的 removeComponentById

参数:

参数名称参数描述
id表示组件ID。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

removeComponents

public void removeComponents(int start, int count)

从组件列表中的指定位置移除所有组件。

指定者:

接口 ComponentParent 中的 removeComponents

覆盖:

ComponentContainer 类中的 removeComponents

参数:

参数名称参数描述
start表示第一个移除的组件的位置索引。
count表示要移除的组件数量。

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

removeAllComponents

public void removeAllComponents()

清除 ComponentContainer 管理的所有组件。

覆盖:

ComponentContainer 类中的 removeAllComponents

Throws:

Throw名称Throw描述
UnsupportedOperationExceptionListContainer 中不允许使用方法。

getComponentAt

public Component getComponentAt(int position)

从类复制的描述:ComponentContainer

使用索引获取子组件。

ComponentContainer 使用内部列表来存储子组件信息。 您可以使用索引获取指定的子组件。

覆盖:

类 ComponentContainer 中的 getComponentAt

参数:

参数名称参数描述
position表示子组件的索引。

返回:

返回子组件。

getChildCount

public int getChildCount()

从类复制的描述:ComponentContainer

获取子组件的数量。

覆盖:

ComponentContainer 类中的 getChildCount

返回:

返回子组件的数量。

onComponentBoundToWindow

public void onComponentBoundToWindow(Component child)

当子组件绑定到此 ListComponent 时调用。

参数:

参数名称参数描述
child表示绑定到 ListComponent 的子组件。

onComponentUnboundFromWindow

public void onComponentUnboundFromWindow(Component child)

当子组件与此 ListComponent 解除绑定时调用。

参数:

参数名称参数描述
child表示未绑定 ListComponent 的子组件。

setListLayoutManager

public void setListLayoutManager(ListLayoutManager layoutManager)

为此 ListComponent 设置一个 ListLayoutManager 对象。

参数:

参数名称参数描述
layoutManager指示要设置的 ListLayoutManager 对象。

getListLayoutManager

public ListLayoutManager getListLayoutManager()

获取此 ListComponent 使用的 ListLayoutManager 对象。

返回:

返回 ListLayoutManager 对象。

setProvider

public void setProvider(Provider provider)

设置此 ListComponent 的提供程序。

参数:

参数名称参数描述
provider指示要设置的提供程序。

getProvider

public Provider getProvider()

获取此 ListComponent 的提供者。

返回:

如果获得,则返回提供者; 如果未设置提供程序,则返回 null。

setIsFixedSize

public void setIsFixedSize(boolean isFixedSize)

设置此 ListComponent 的提供者是否具有固定大小。

此方法可用于在提供程序更改时提高布局性能。

参数:

参数名称参数描述
isFixedSize指定提供程序是否具有固定大小。 值 true 表示提供者有固定大小,表示提供者改变不影响 ListComponent 的大小; 值 false 表示相反。

isSizeFixed

public boolean isSizeFixed()

检查此 ListComponent 的提供者是否具有固定大小。

返回:

如果提供者具有固定大小,则返回 true; 否则返回 false。

isCalculatingLayout

public boolean isCalculatingLayout()

检查此 ListComponent 是否正在计算布局。

返回:

如果 ListComponent 正在计算布局,则返回 true; 否则返回 false。

alignChildComponentYCoordinate

public void alignChildComponentYCoordinate(int dy)

设置此 ListComponent 中所有子组件边界的垂直像素偏移。

参数:

参数名称参数描述
dy指示要设置的垂直像素偏移量。

alignChildComponentXCoordinate

public void alignChildComponentXCoordinate(int dx)

设置此 ListComponent 中所有子组件边界的水平像素偏移。

参数:

参数名称参数描述
dx指示要设置的水平像素偏移量。

switchProvider

public void switchProvider(Provider provider, boolean deleteAndReuseComponents)

将此 ListComponent 的提供者替换为新的提供者。

在替换provider之前,可以通过deleteAndReuseComponents参数判断是否回收ListComponent中的所有子组件。

参数:

参数名称参数描述
provider表示新的提供者。 值 null 表示不会设置提供程序。
deleteAndReuseComponents指定是否回收 ListComponent 中的所有子组件。 true 表示回收所有子组件,false 表示相反。

addOnComponentBoundStatusChangeListener

public void addOnComponentBoundStatusChangeListener(ListComponent.OnComponentBoundStatusChangeListener listener)

添加一个侦听器,当子组件绑定到此 ListComponent 或从此 ListComponent 解除绑定时将通知该侦听器。

参数:

参数名称参数描述
listener指示要添加的侦听器。

clearOnComponentBoundStatusChangeListener

public void clearOnComponentBoundStatusChangeListener()

当子组件绑定到此列表组件或从该列表组件解除绑定时,移除所有收到通知的侦听器。

removeOnComponentBoundStatusChangeListener

public void removeOnComponentBoundStatusChangeListener(ListComponent.OnComponentBoundStatusChangeListener listener)

移除在子组件绑定到此 ListComponent 或从此 ListComponent 解除绑定时收到通知的侦听器。

参数:

参数名称参数描述
listener指示要删除的侦听器。

getChildProviderPosition

public int getChildProviderPosition(Component component)

获取提供者中子组件的位置。

参数:

参数名称参数描述
component表示子组件。

返回:

如果获得,则返回子组件的位置; 如果组件为空,则返回 -1。

getChildLayoutPosition

public int getChildLayoutPosition(Component component)

获取最近一次布局计算后子组件在提供者中的位置。

参数:

参数名称参数描述
component表示子组件。

返回:

如果获得,则返回子组件的位置; 如果组件为空,则返回 -1。

getChildComponentId

public long getChildComponentId(Component child)

获取此 ListComponent 中子组件的 ID。

参数:

参数名称参数描述
child表示子组件。

返回:

如果获取,则返回子组件 ID; 如果 child 为 null,则返回 -1。

searchComponentOwnerForLayoutPosition

public ComponentOwner searchComponentOwnerForLayoutPosition(int position)

根据指定位置在最新布局中搜索 ComponentOwner。

参数:

参数名称参数描述
position指示组件在提供程序中的位置。

返回:

如果获得,则返回 ComponentOwner; 否则返回 null。

searchComponentOwnerForProviderPosition

public ComponentOwner searchComponentOwnerForProviderPosition(int position)

根据指定位置在提供者中搜索 ComponentOwner。

参数:

参数名称参数描述
position指示组件在提供程序中的位置。

返回:

如果获得,则返回 ComponentOwner; 否则返回 null。

getComponentOwnerById

public ComponentOwner getComponentOwnerById(long id)

根据子组件ID获取ComponentOwner。

参数:

参数名称参数描述
id表示子组件ID。

返回:

如果获得,则返回 ComponentOwner; 否则返回 null。

searchChildComponentBelowPoint

public Component searchChildComponentBelowPoint(float x, float y)

根据屏幕上的坐标搜索子组件。

参数:

参数名称参数描述
x表示水平坐标,以像素为单位。
y表示垂直坐标,以像素为单位。

返回:

如果获得则返回子组件; 否则返回 null。

getChildComponentOwner

public ComponentOwner getChildComponentOwner(Component child)

获取子组件的 ComponentOwner。

参数:

参数名称参数描述
child指示要查询的子组件。

返回:

如果获得,则返回 ComponentOwner; 如果 child 为 null、未获取 ComponentOwner 或发生异常,则返回 null。

searchParentComponentOfChild

public Component searchParentComponentOfChild(Component component)

搜索包含指定组件的子组件(grandchild 组件)。

参数:

参数名称参数描述
component指示 grandchild 组件。

返回:

如果获得则返回子组件; 否则返回 null。

searchParentComponentOwnerOfChild

public ComponentOwner searchParentComponentOwnerOfChild(Component component)

搜索包含指定组件(grandchild 组件)的子组件的 ComponentOwner。

参数:

参数名称参数描述
component指示 grandchild 组件。

返回:

如果获得,则返回 ComponentOwner; 否则返回 null。

hasIncomingProviderRefresh

public boolean hasIncomingProviderRefresh()

检查是否存在尚未应用于布局的提供程序更新。

返回:

如果存在未应用于布局的提供程序更新,则返回 true; 如果布局是最新的或发生异常,则返回 false。

addCachePolicyListener

public void addCachePolicyListener(ListComponent.CachePolicyListener listener)

为缓存策略添加侦听器。

参数:

参数名称参数描述
listener指示要添加的侦听器。

removeCachePolicyListener

public void removeCachePolicyListener(ListComponent.CachePolicyListener listener)

删除缓存策略的侦听器。

参数:

参数名称参数描述
listener指示要删除的侦听器。

getListCachedPool

public ListComponentPool getListCachedPool()

获取此 ListComponent 的回收池。

如果没有为此 ListComponent 设置回收池,则此方法创建一个并返回它。

返回:

返回回收池。

setListCachedPool

public void setListCachedPool(ListComponentPool pool)

为此 ListComponent 设置回收池。

参数:

参数名称参数描述
pool指示要设置的回收池。 如果此参数为空,则创建并使用一个新池。

setRequestedCacheMax

public void setRequestedCacheMax(int count)

设置可以缓存的屏幕外组件的最大数量。

参数:

参数名称参数描述
count指示要设置的离屏组件的数量。

scrollToPositionInSmoothMode

public void scrollToPositionInSmoothMode(int position)

将此 ListComponent 平滑滚动到特定位置。

参数:

参数名称参数描述
position指示要滚动到的位置。

fling

public boolean fling(int speedX, int speedY)

以水平和垂直方向的初始速度触发此 ListComponent 的投掷。

参数:

参数名称参数描述
speedX表示水平方向的初始速度,以像素/秒为单位。
speedY表示垂直方向的初始速度,以像素/秒为单位。

返回:

如果投掷开始,则返回 true; 如果由于初始速度低而无法启动投掷,如果 LayoutManager 不支持投掷,或者发生异常,则返回 false。

getMinFlingSpeed

public int getMinFlingSpeed()

获得触发投掷的最小速度。

返回:

返回最小速度。

getMaxFlingSpeed

public int getMaxFlingSpeed()

获得触发投掷的最大速度。

返回:

返回最大速度。

scrollToPosition

public void scrollToPosition(int position)

将此 ListComponent 滚动到特定位置。

参数:

参数名称参数描述
position指示要滚动到的位置。

scrollTo

public void scrollTo(int x, int y)

将此 ListComponent 滚动到指定的水平和垂直坐标。

覆盖:

类 Component 中的 scrollTo

参数:

参数名称参数描述
x指示要滚动到的水平坐标。
y指示要滚动到的垂直坐标。

scrollBy

public void scrollBy(int x, int y)

将此 ListComponent 滚动一个相对距离。

覆盖:

类 Component 中的 scrollBy

参数:

参数名称参数描述
x指示要滚动的水平距离。
y指示要滚动的垂直距离。

stopScroll

public void stopScroll()

停止当前滚动。

scrollByInSmoothMode

public void scrollByInSmoothMode(int dx, int dy)

将此 ListComponent 平滑滚动一个相对距离。

参数:

参数名称参数描述
dx指示要滚动的水平距离,以像素为单位。
dy指示要滚动的垂直距离,以像素为单位。

scrollByInSmoothMode

public void scrollByInSmoothMode(int dx, int dy, Animator.TimelineCurve curve)

根据滚动曲线以相对距离平滑滚动此 ListComponent。

参数:

参数名称参数描述
dx指示要滚动的水平距离,以像素为单位。
dy指示要滚动的垂直距离,以像素为单位。
curve表示滚动曲线。

setItemAnimation

public void setItemAnimation(ItemAnimation animation)

设置一个 ItemAnimation 对象,用于处理提供者更改时发生的动画。

如果不调用此方法,将使用 DefaultItemAnimation。

参数:

参数名称参数描述
animation指示要设置的 ItemAnimation 对象。 如果此参数为 null,则当 ListComponent 中的子组件发生更改时,不会发生动画。

getItemAnimation

public ItemAnimation getItemAnimation()

获取 ItemAnimation 对象,该对象用于处理提供者更改时发生的动画。

返回:

如果获得,则返回 ItemAnimation 对象; 如果没有分配对象,则返回 null。

isListAnimating

public boolean isListAnimating()

检查此 ListComponent 是否正在运行动画。

返回:

如果 ListComponent 正在运行动画,则返回 true; 否则返回 false。

addListAdornment

public void addListAdornment(ListAdornment adorn, int index)

将 ListAdornment 对象添加到此 ListComponent 的指定位置。

参数:

参数名称参数描述
adorn指示要添加的 ListAdornment 对象。
index指示将添加 ListAdornment 对象的位置。 如果此参数设置为负值,则 ListAdornment 将添加到 ListComponent 的末尾。

addListAdornment

public void addListAdornment(ListAdornment adorn)

在此 ListComponent 的末尾添加一个 ListAdornment 对象。

参数:

参数名称参数描述
adorn指示要添加的 ListAdornment 对象。

getListAdornmentAt

public ListAdornment getListAdornmentAt(int index)

获取具有此 ListComponent 的给定索引的 ListAdornment 对象。

参数:

参数名称参数描述
index指示要获取的 ListAdornment 对象的索引。

返回:

返回 ListAdornment 对象。

getListAdornmentCount

public int getListAdornmentCount()

获取此 ListComponent 中的 ListAdornment 对象的数量。

返回:

返回 ListAdornment 对象的数量。

removeListAdornmentAt

public void removeListAdornmentAt(int index)

移除具有此 ListComponent 的给定索引的 ListAdornment 对象。

参数:

参数名称参数描述
index指示要删除的 ListAdornment 对象的索引。

removeListAdornment

public void removeListAdornment(ListAdornment decor)

从此 ListComponent 中移除给定的 ListAdornment 对象。

参数:

参数名称参数描述
decor指示要删除的 ListAdornment 对象。

refreshListAdornments

public void refreshListAdornments()

主动刷新此 ListComponent 中的 ListAdornment 对象。

getAdornedBoundryIncludeMargin

public void getAdornedBoundryIncludeMargin(Component component, Rect outBounds)

获取子组件的边界,包括其装饰和边距。

参数:

参数名称参数描述
component表示子组件。
outBounds表示用于保持边界的矩形。

postponeLayout

public void postponeLayout(boolean isPostponeLayout)

设置是否推迟此 ListComponent 的布局请求。

如果布局请求被推迟,ListComponent 的布局和滚动将被禁用。

参数:

参数名称参数描述
isPostponeLayout指定是否推迟布局请求。 true 表示推迟布局请求,false 表示相反。

isPostponeLayout

public boolean isPostponeLayout()

检查此 ListComponent 的布局请求是否被推迟。

返回:

如果布局请求被推迟,则返回 true; 否则返回 false。

setOnFlingListener

public void setOnFlingListener(ListComponent.OnFlingListener listener)

为此 ListComponent 设置一个 OnFlingListener。 该监听器用于观察 ListComponent 的 fling 事件。

参数:

参数名称参数描述
listener指示要设置的 OnFlingListener。

setRecoverfocusAfterRefresh

public void setRecoverfocusAfterRefresh(boolean recoverFocusAfterRefresh)

设置此 ListComponent 在布局计算后是否保持同一个子组件的焦点。

参数:

参数名称参数描述
recoverFocusAfterRefresh指定 ListComponent 在布局计算后是否保持同一个子组件的焦点。 值 true 表示保持同一个子组件聚焦,false 表示相反。 默认值是true。

getRecoverfocusAfterRefresh

public boolean getRecoverfocusAfterRefresh()

检查此 ListComponent 在布局计算后是否保持同一个子组件的焦点。

返回:

如果 ListComponent 在布局计算后保持同一个子组件为焦点,则返回 true; 否则返回 false。

postLayout

public void postLayout()

从类复制的描述:组件

请求重新排列组件的布局。

指定者:

ComponentParent 接口中的 postLayout

覆盖:

类 Component 中的 postLayout

setReboundEffect

public void setReboundEffect(boolean enabled)

设置是否开启反弹效果。

参数:

参数名称参数描述
enabled指定是否启用反弹效果。 true 表示启用反弹效果,false 表示相反。

getReboundEffect

public boolean getReboundEffect()

检查反弹效果是否开启。

返回:

如果启用了反弹效果,则返回 true; 否则返回 false。

setReboundEffectParams

public void setReboundEffectParams(int overscrollPercent, float overscrollRate, int remainVisiblePercent)

设置回弹效果参数。

参数:

参数名称参数描述
overscrollPercent表示过度滚动百分比。 默认值为 40。
overscrollRate表示超滚动率。 默认值为 0.6。
remainVisiblePercent指示在过度滚动期间应保持可见的可滚动内容的最小百分比。 默认值为 20。

setReboundEffectParams

public void setReboundEffectParams(ListComponent.ReboundEffectParams reboundEffectParams)

使用 ReboundEffectParams 对象设置回弹效果参数。

参数:

参数名称参数描述
reboundEffectParams表示一个包含反弹效果参数的 ReboundEffectParams 对象。

getReboundEffectParams

public ListComponent.ReboundEffectParams getReboundEffectParams()

以 ReboundEffectParams 对象的形式获取回弹效果参数。

返回:

返回包含反弹效果参数的 ReboundEffectParams 对象。

setLayoutManager

public void setLayoutManager(LayoutManager layoutManager)

从类复制的描述:ComponentContainer

设置一个 LayoutManager 实例,用于布局相关子组件。

覆盖:

ComponentContainer 类中的 setLayoutManager

参数:

参数名称参数描述
layoutManager指示要设置的布局管理器。

isScrollingSmoothly

public boolean isScrollingSmoothly()

检查此 ListComponent 是否正在平滑滚动。

返回:

如果 ListComponent 正在平滑滚动,则返回 true; 否则返回 false。

verifyLayoutConfig

public ComponentContainer.LayoutConfig verifyLayoutConfig(ComponentContainer.LayoutConfig config)

自定义一个 LayoutConfig 对象,使 ComponentOwner 拥有 ListLayoutManager 的元数据。

指定者:

接口 ComponentParent 中的 verifyLayoutConfig

覆盖:

ComponentContainer 类中的 verifyLayoutConfig

参数:

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

返回:

返回包含布局参数的 ComponentContainer.LayoutConfig 实例。

onBounceBackStart

public void onBounceBackStart(int xOverScrolled, int yOverScrolled)

反弹开始时调用。

参数:

参数名称参数描述
xOverScrolled表示水平方向移动的距离。
yOverScrolled表示垂直方向移动的距离。

onBounceBackChange

public void onBounceBackChange(int xOverScrolled, int yOverScrolled)

在反弹过程中调用。

参数:

参数名称参数描述
xOverScrolled表示水平方向移动的距离。
yOverScrolled表示垂直方向移动的距离。

onBounceBackEnd

public void onBounceBackEnd(int xOverScrolled, int yOverScrolled)

反弹结束时调用。

参数:

参数名称参数描述
xOverScrolled表示水平方向移动的距离。
yOverScrolled表示垂直方向移动的距离。

addBounceBackListener

public void addBounceBackListener(ListComponent.BounceBackListener listener)

为反弹状态更改添加侦听器。

参数:

参数名称参数描述
listener指示要添加的侦听器。

removeBounceBackListener

public void removeBounceBackListener(ListComponent.BounceBackListener listener)

删除反弹状态更改的侦听器。

参数:

参数名称参数描述
listener指示要删除的侦听器。

clearBounceBackListeners

public void clearBounceBackListeners()

删除反弹状态更改的所有侦听器。