鸿蒙OS ListComponent

ListComponent

java.lang.Object

|—ohos.agp.components.Component

|—|—ohos.agp.components.ComponentContainer

|—|—|—ohos.agp.components.ListComponent

public class ListComponent
extends ComponentContainer

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

嵌套类摘要

修饰符和类型 描述
static interface ListComponent.BounceBackListener 实现监听反弹状态的变化,包括反弹开始、反弹进行中、反弹结束。
static interface ListComponent.CachePolicyListener 实现监听以将组件添加到 ListComponentPool。
static class ListComponent.ListLayoutConfig 继承自 ComponentContainer.LayoutConfig 并提供方法使 ListComponent 中的组件能够访问对应的 ComponentOwner。
static interface ListComponent.OnComponentBoundStatusChangeListener 实现监听 ListComponent 的状态变化。
static class ListComponent.OnFlingListener 实现监听。
static class ListComponent.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 int HORIZONTAL 表示组件在 ListComponent 中水平排列。
static long INVALID_ID 表示 ListComponent 中的组件 ID 无效。
static int INVALID_POSITION 指示 ListComponent 中的无效组件位置。
static int INVALID_TYPE 表示 ListComponent 中的组件类型无效。
static int ITEM_TYPE_NO_SCALE_MASK 表示不使用比例。
static int ITEM_TYPE_NO_STICK_MASK 表示不使用摇杆。
static int LIST_SCROLL_STATE_DRAGGING 指示正在拖动 ListComponent。
static int LIST_SCROLL_STATE_IDLE 表示 ListComponent 处于空闲状态。
static int LIST_SCROLL_STATE_SETTLING 表示 ListComponent 正在被滑动。
static int UNDEFINED_DURATION 表示未定义滚动持续时间。
static int VERTICAL 表示组件在 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 实例的构造函数。

方法总结

修饰符和类型 方法 描述
void addBounceBackListener(ListComponent.BounceBackListener listener) 为反弹状态更改添加侦听器。
void addCachePolicyListener(ListComponent.CachePolicyListener listener) 为缓存策略添加侦听器。
void addComponent(Component childComponent) 通过在内部调用 ComponentContainer.addComponent(ohos.agp.components.Component,int index) 将组件添加到队列的末尾。
void addComponent(Component childComponent, int index) 将组件添加到指定位置。
void addComponent(Component childComponent, int width, int height) 添加一个组件并设置其宽度和高度。
void addComponent(Component childComponent, int index, ComponentContainer.LayoutConfig layoutConfig) 添加组件并设置其布局参数和位置。
void addComponent(Component childComponent, ComponentContainer.LayoutConfig layoutConfig) 添加一个组件并设置其布局参数。
void addListAdornment(ListAdornment adorn) 在此 ListComponent 的末尾添加一个 ListAdornment 对象。
void addListAdornment(ListAdornment adorn, int index) 将 ListAdornment 对象添加到此 ListComponent 的指定位置。
void addOnComponentBoundStatusChangeListener(ListComponent.OnComponentBoundStatusChangeListener listener) 添加一个侦听器,当子组件绑定到此 ListComponent 或从此 ListComponent 解除绑定时将通知该侦听器。
void alignChildComponentXCoordinate(int dx) 设置此 ListComponent 中所有子组件边界的水平像素偏移。
void alignChildComponentYCoordinate(int dy) 设置此 ListComponent 中所有子组件边界的垂直像素偏移。
void clearBounceBackListeners() 删除反弹状态更改的所有侦听器。
void clearOnComponentBoundStatusChangeListener() 当子组件绑定到此列表组件或从该列表组件解除绑定时,移除所有收到通知的侦听器。
protected void createNativePtr()
boolean fling(int speedX, int speedY) 以水平和垂直方向的初始速度触发此 ListComponent 的投掷。
void getAdornedBoundryIncludeMargin(Component component, Rect outBounds) 获取子组件的边界,包括其装饰和边距。
long getChildComponentId(Component child) 获取此 ListComponent 中子组件的 ID。
ComponentOwner getChildComponentOwner(Component child) 获取子组件的 ComponentOwner。
int getChildCount() 获取子组件的数量。
int getChildLayoutPosition(Component component) 获取最近一次布局计算后子组件在提供者中的位置。
int getChildProviderPosition(Component component) 获取提供者中子组件的位置。
Component getComponentAt(int position) 使用索引获取子组件。
ComponentOwner getComponentOwnerById(long id) 根据子组件ID获取ComponentOwner。
ItemAnimation getItemAnimation() 获取 ItemAnimation 对象,该对象用于处理提供者更改时发生的动画。
ListAdornment getListAdornmentAt(int index) 获取具有此 ListComponent 的给定索引的 ListAdornment 对象。
int getListAdornmentCount() 获取此 ListComponent 中的 ListAdornment 对象的数量。
ListComponentPool getListCachedPool() 获取此 ListComponent 的回收池。
ListLayoutManager getListLayoutManager() 获取此 ListComponent 使用的 ListLayoutManager 对象。
int getMaxFlingSpeed() 获得触发投掷的最大速度。
int getMinFlingSpeed() 获得触发投掷的最小速度。
Provider getProvider() 获取此 ListComponent 的提供者。
boolean getReboundEffect() 检查反弹效果是否开启。
ListComponent.ReboundEffectParams getReboundEffectParams() 以 ReboundEffectParams 对象的形式获取回弹效果参数。
boolean getRecoverfocusAfterRefresh() 检查此 ListComponent 在布局计算后是否保持同一个子组件的焦点。
boolean hasIncomingProviderRefresh() 检查是否存在尚未应用于布局的提供程序更新。
boolean isCalculatingLayout() 检查此 ListComponent 是否正在计算布局。
boolean isListAnimating() 检查此 ListComponent 是否正在运行动画。
boolean isPostponeLayout() 检查此 ListComponent 的布局请求是否被推迟。
boolean isScrollingSmoothly() 检查此 ListComponent 是否正在平滑滚动。
boolean isSizeFixed() 检查此 ListComponent 的提供者是否具有固定大小。
void onBounceBackChange(int xOverScrolled, int yOverScrolled) 在反弹过程中调用。
void onBounceBackEnd(int xOverScrolled, int yOverScrolled) 反弹结束时调用。
void onBounceBackStart(int xOverScrolled, int yOverScrolled) 反弹开始时调用。
void onComponentBoundToWindow(Component child) 当子组件绑定到此 ListComponent 时调用。
void onComponentUnboundFromWindow(Component child) 当子组件与此 ListComponent 解除绑定时调用。
void postLayout() 请求重新排列组件的布局。
void postponeLayout(boolean isPostponeLayout) 设置是否推迟此 ListComponent 的布局请求。
void refreshListAdornments() 主动刷新此 ListComponent 中的 ListAdornment 对象。
void removeAllComponents() 清除 ComponentContainer 管理的所有组件。
void removeBounceBackListener(ListComponent.BounceBackListener listener) 删除反弹状态更改的侦听器。
void removeCachePolicyListener(ListComponent.CachePolicyListener listener) 删除缓存策略的侦听器。
void removeComponent(Component component) 从父组件中移除子组件。
void removeComponentAt(int index) 从组件列表中的指定位置移除组件。
void removeComponentById(int id) 根据 ID 移除组件。
void removeComponents(int start, int count) 从组件列表中的指定位置移除所有组件。
void removeListAdornment(ListAdornment decor) 从此 ListComponent 中移除给定的 ListAdornment 对象。
void removeListAdornmentAt(int index) 移除具有此 ListComponent 的给定索引的 ListAdornment 对象。
void removeOnComponentBoundStatusChangeListener(ListComponent.OnComponentBoundStatusChangeListener listener) 移除在子组件绑定到此 ListComponent 或从此 ListComponent 解除绑定时收到通知的侦听器。
void scrollBy(int x, int y) 将此 ListComponent 滚动一个相对距离。
void scrollByInSmoothMode(int dx, int dy) 将此 ListComponent 平滑滚动一个相对距离。
void scrollByInSmoothMode(int dx, int dy, Animator.TimelineCurve curve) 根据滚动曲线以相对距离平滑滚动此 ListComponent。
void scrollTo(int x, int y) 将此 ListComponent 滚动到指定的水平和垂直坐标。
void scrollToPosition(int position) 将此 ListComponent 滚动到特定位置。
void scrollToPositionInSmoothMode(int position) 将此 ListComponent 平滑滚动到特定位置。
Component searchChildComponentBelowPoint(float x, float y) 根据屏幕上的坐标搜索子组件。
ComponentOwner searchComponentOwnerForLayoutPosition(int position) 根据指定位置在最新布局中搜索 ComponentOwner。
ComponentOwner searchComponentOwnerForProviderPosition(int position) 根据指定位置在提供者中搜索 ComponentOwner。
Component searchParentComponentOfChild(Component component) 搜索包含指定组件的子组件(grandchild 组件)。
ComponentOwner searchParentComponentOwnerOfChild(Component component) 搜索包含指定组件(grandchild 组件)的子组件的 ComponentOwner。
void setIsFixedSize(boolean isFixedSize) 设置此 ListComponent 的提供者是否具有固定大小。
void setItemAnimation(ItemAnimation animation) 设置一个 ItemAnimation 对象,用于处理提供者更改时发生的动画。
void setLayoutManager(LayoutManager layoutManager) 设置一个 LayoutManager 实例,用于布局相关子组件。
void setListCachedPool(ListComponentPool pool) 为此 ListComponent 设置回收池。
void setListLayoutManager(ListLayoutManager layoutManager) 为此 ListComponent 设置一个 ListLayoutManager 对象。
void setOnFlingListener(ListComponent.OnFlingListener listener) 为此 ListComponent 设置一个 OnFlingListener。
void setProvider(Provider provider) 设置此 ListComponent 的提供程序。
void setReboundEffect(boolean enabled) 设置是否开启反弹效果。
void setReboundEffectParams(int overscrollPercent, float overscrollRate, int remainVisiblePercent) 设置回弹效果参数。
void setReboundEffectParams(ListComponent.ReboundEffectParams reboundEffectParams) 使用 ReboundEffectParams 对象设置回弹效果参数。
void setRecoverfocusAfterRefresh(boolean recoverFocusAfterRefresh) 设置此 ListComponent 在布局计算后是否保持同一个子组件的焦点。
void setRequestedCacheMax(int count) 设置可以缓存的屏幕外组件的最大数量。
void stopScroll() 停止当前滚动。
void switchProvider(Provider provider, boolean deleteAndReuseComponents) 将此 ListComponent 的提供者替换为新的提供者。
ComponentContainer.LayoutConfig verifyLayoutConfig(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描述
UnsupportedOperationException ListContainer 中不允许使用方法。

addComponent

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

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

覆盖:

类 ComponentContainer 中的 addComponent

参数:

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

Throws:

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

addComponent

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

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

覆盖:

类 ComponentContainer 中的 addComponent

参数:

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

Throws:

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

addComponent

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

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

覆盖:

类 ComponentContainer 中的 addComponent

参数:

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

Throws:

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

addComponent

public void addComponent(Component childComponent, int index)

将组件添加到指定位置。

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

覆盖:

类 ComponentContainer 中的 addComponent

参数:

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

Throws:

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

removeComponent

public void removeComponent(Component component)

从父组件中移除子组件。

指定者:

接口 ComponentParent 中的 removeComponent

覆盖:

ComponentContainer 类中的 removeComponent

参数:

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

Throws:

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

removeComponentAt

public void removeComponentAt(int index)

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

指定者:

接口 ComponentParent 中的 removeComponentAt

覆盖:

ComponentContainer 类中的 removeComponentAt

参数:

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

Throws:

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

removeComponentById

public void removeComponentById(int id)

根据 ID 移除组件。

覆盖:

ComponentContainer 类中的 removeComponentById

参数:

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

Throws:

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

removeComponents

public void removeComponents(int start, int count)

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

指定者:

接口 ComponentParent 中的 removeComponents

覆盖:

ComponentContainer 类中的 removeComponents

参数:

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

Throws:

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

removeAllComponents

public void removeAllComponents()

清除 ComponentContainer 管理的所有组件。

覆盖:

ComponentContainer 类中的 removeAllComponents

Throws:

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

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()

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

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