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 |
public static final int HORIZONTAL
表示组件在 ListComponent 中水平排列。
public static final long INVALID_ID
表示 ListComponent 中的组件 ID 无效。
public static final int INVALID_POSITION
指示 ListComponent 中的无效组件位置。
public static final int INVALID_TYPE
表示 ListComponent 中的组件类型无效。
public static final int ITEM_TYPE_NO_SCALE_MASK
表示不使用比例。
public static final int ITEM_TYPE_NO_STICK_MASK
表示不使用摇杆。
public static final int LIST_SCROLL_STATE_DRAGGING
指示正在拖动 ListComponent。
public static final int LIST_SCROLL_STATE_IDLE
表示 ListComponent 处于空闲状态。
public static final int LIST_SCROLL_STATE_SETTLING
表示 ListComponent 正在被滑动。
public static final int UNDEFINED_DURATION
表示未定义滚动持续时间。
public static final int VERTICAL
表示组件在 ListComponent 中垂直排列。
public ListComponent(Context context)
用于根据默认属性集和样式创建 ListComponent 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
public ListComponent(Context context, AttrSet attrSet)
用于根据指定的属性集和默认样式创建 ListComponent 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
attrSet | 指示要使用的属性集。 |
public ListComponent(Context context, AttrSet attrSet, String styleName)
用于根据指定的属性集和样式创建 ListComponent 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
attrSet | 指示要使用的属性集。 |
styleName | 指示要使用的样式的名称。 |
protected void createNativePtr()
public void addComponent(Component childComponent)
通过在内部调用 ComponentContainer.addComponent(ohos.agp.components.Component,int index) 将组件添加到队列的末尾。
覆盖:
类 ComponentContainer 中的 addComponent
参数:
参数名称 | 参数描述 |
---|---|
childComponent | 指示要添加的子组件。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void addComponent(Component childComponent, int width, int height)
添加一个组件并设置其宽度和高度。
覆盖:
类 ComponentContainer 中的 addComponent
参数:
参数名称 | 参数描述 |
---|---|
childComponent | 指示要添加的子组件。 |
width | 指示子组件的宽度,以像素为单位。 |
height | 指示子组件的高度,以像素为单位。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void addComponent(Component childComponent, ComponentContainer.LayoutConfig layoutConfig)
添加一个组件并设置其布局参数。
覆盖:
类 ComponentContainer 中的 addComponent
参数:
参数名称 | 参数描述 |
---|---|
childComponent | 指示要添加的子组件。 |
layoutConfig | 表示子组件的布局参数。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void addComponent(Component childComponent, int index, ComponentContainer.LayoutConfig layoutConfig)
添加组件并设置其布局参数和位置。
覆盖:
类 ComponentContainer 中的 addComponent
参数:
参数名称 | 参数描述 |
---|---|
childComponent | 指示要添加的子组件。 |
index | 指示添加子组件的位置。 值 -1 表示将子组件添加到队列的末尾。 |
layoutConfig | 表示子组件的布局参数。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void addComponent(Component childComponent, int index)
将组件添加到指定位置。
如果没有为该子组件设置布局参数,则使用 ComponentContainer 的默认布局参数。
覆盖:
类 ComponentContainer 中的 addComponent
参数:
参数名称 | 参数描述 |
---|---|
childComponent | 指示要添加的子组件。 |
index | 指示添加子组件的位置。 值 -1 表示将组件添加到末尾。 如果提供的数字大于 getChildCount() 的值,则返回运行时异常。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void removeComponent(Component component)
从父组件中移除子组件。
指定者:
接口 ComponentParent 中的 removeComponent
覆盖:
ComponentContainer 类中的 removeComponent
参数:
参数名称 | 参数描述 |
---|---|
component | 指示要移除的子组件。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void removeComponentAt(int index)
从组件列表中的指定位置移除组件。
指定者:
接口 ComponentParent 中的 removeComponentAt
覆盖:
ComponentContainer 类中的 removeComponentAt
参数:
参数名称 | 参数描述 |
---|---|
index | 指示要移除的组件的位置索引。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void removeComponentById(int id)
根据 ID 移除组件。
覆盖:
ComponentContainer 类中的 removeComponentById
参数:
参数名称 | 参数描述 |
---|---|
id | 表示组件ID。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void removeComponents(int start, int count)
从组件列表中的指定位置移除所有组件。
指定者:
接口 ComponentParent 中的 removeComponents
覆盖:
ComponentContainer 类中的 removeComponents
参数:
参数名称 | 参数描述 |
---|---|
start | 表示第一个移除的组件的位置索引。 |
count | 表示要移除的组件数量。 |
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public void removeAllComponents()
清除 ComponentContainer 管理的所有组件。
覆盖:
ComponentContainer 类中的 removeAllComponents
Throws:
Throw名称 | Throw描述 |
---|---|
UnsupportedOperationException | ListContainer 中不允许使用方法。 |
public Component getComponentAt(int position)
从类复制的描述:ComponentContainer
使用索引获取子组件。
ComponentContainer 使用内部列表来存储子组件信息。 您可以使用索引获取指定的子组件。
覆盖:
类 ComponentContainer 中的 getComponentAt
参数:
参数名称 | 参数描述 |
---|---|
position | 表示子组件的索引。 |
返回:
返回子组件。
public int getChildCount()
从类复制的描述:ComponentContainer
获取子组件的数量。
覆盖:
ComponentContainer 类中的 getChildCount
返回:
返回子组件的数量。
public void onComponentBoundToWindow(Component child)
当子组件绑定到此 ListComponent 时调用。
参数:
参数名称 | 参数描述 |
---|---|
child | 表示绑定到 ListComponent 的子组件。 |
public void onComponentUnboundFromWindow(Component child)
当子组件与此 ListComponent 解除绑定时调用。
参数:
参数名称 | 参数描述 |
---|---|
child | 表示未绑定 ListComponent 的子组件。 |
public void setListLayoutManager(ListLayoutManager layoutManager)
为此 ListComponent 设置一个 ListLayoutManager 对象。
参数:
参数名称 | 参数描述 |
---|---|
layoutManager | 指示要设置的 ListLayoutManager 对象。 |
public ListLayoutManager getListLayoutManager()
获取此 ListComponent 使用的 ListLayoutManager 对象。
返回:
返回 ListLayoutManager 对象。
public void setProvider(Provider provider)
设置此 ListComponent 的提供程序。
参数:
参数名称 | 参数描述 |
---|---|
provider | 指示要设置的提供程序。 |
public Provider getProvider()
获取此 ListComponent 的提供者。
返回:
如果获得,则返回提供者; 如果未设置提供程序,则返回 null。
public void setIsFixedSize(boolean isFixedSize)
设置此 ListComponent 的提供者是否具有固定大小。
此方法可用于在提供程序更改时提高布局性能。
参数:
参数名称 | 参数描述 |
---|---|
isFixedSize | 指定提供程序是否具有固定大小。 值 true 表示提供者有固定大小,表示提供者改变不影响 ListComponent 的大小; 值 false 表示相反。 |
public boolean isSizeFixed()
检查此 ListComponent 的提供者是否具有固定大小。
返回:
如果提供者具有固定大小,则返回 true; 否则返回 false。
public boolean isCalculatingLayout()
检查此 ListComponent 是否正在计算布局。
返回:
如果 ListComponent 正在计算布局,则返回 true; 否则返回 false。
public void alignChildComponentYCoordinate(int dy)
设置此 ListComponent 中所有子组件边界的垂直像素偏移。
参数:
参数名称 | 参数描述 |
---|---|
dy | 指示要设置的垂直像素偏移量。 |
public void alignChildComponentXCoordinate(int dx)
设置此 ListComponent 中所有子组件边界的水平像素偏移。
参数:
参数名称 | 参数描述 |
---|---|
dx | 指示要设置的水平像素偏移量。 |
public void switchProvider(Provider provider, boolean deleteAndReuseComponents)
将此 ListComponent 的提供者替换为新的提供者。
在替换provider之前,可以通过deleteAndReuseComponents参数判断是否回收ListComponent中的所有子组件。
参数:
参数名称 | 参数描述 |
---|---|
provider | 表示新的提供者。 值 null 表示不会设置提供程序。 |
deleteAndReuseComponents | 指定是否回收 ListComponent 中的所有子组件。 true 表示回收所有子组件,false 表示相反。 |
public void addOnComponentBoundStatusChangeListener(ListComponent.OnComponentBoundStatusChangeListener listener)
添加一个侦听器,当子组件绑定到此 ListComponent 或从此 ListComponent 解除绑定时将通知该侦听器。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示要添加的侦听器。 |
public void clearOnComponentBoundStatusChangeListener()
当子组件绑定到此列表组件或从该列表组件解除绑定时,移除所有收到通知的侦听器。
public void removeOnComponentBoundStatusChangeListener(ListComponent.OnComponentBoundStatusChangeListener listener)
移除在子组件绑定到此 ListComponent 或从此 ListComponent 解除绑定时收到通知的侦听器。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示要删除的侦听器。 |
public int getChildProviderPosition(Component component)
获取提供者中子组件的位置。
参数:
参数名称 | 参数描述 |
---|---|
component | 表示子组件。 |
返回:
如果获得,则返回子组件的位置; 如果组件为空,则返回 -1。
public int getChildLayoutPosition(Component component)
获取最近一次布局计算后子组件在提供者中的位置。
参数:
参数名称 | 参数描述 |
---|---|
component | 表示子组件。 |
返回:
如果获得,则返回子组件的位置; 如果组件为空,则返回 -1。
public long getChildComponentId(Component child)
获取此 ListComponent 中子组件的 ID。
参数:
参数名称 | 参数描述 |
---|---|
child | 表示子组件。 |
返回:
如果获取,则返回子组件 ID; 如果 child 为 null,则返回 -1。
public ComponentOwner searchComponentOwnerForLayoutPosition(int position)
根据指定位置在最新布局中搜索 ComponentOwner。
参数:
参数名称 | 参数描述 |
---|---|
position | 指示组件在提供程序中的位置。 |
返回:
如果获得,则返回 ComponentOwner; 否则返回 null。
public ComponentOwner searchComponentOwnerForProviderPosition(int position)
根据指定位置在提供者中搜索 ComponentOwner。
参数:
参数名称 | 参数描述 |
---|---|
position | 指示组件在提供程序中的位置。 |
返回:
如果获得,则返回 ComponentOwner; 否则返回 null。
public ComponentOwner getComponentOwnerById(long id)
根据子组件ID获取ComponentOwner。
参数:
参数名称 | 参数描述 |
---|---|
id | 表示子组件ID。 |
返回:
如果获得,则返回 ComponentOwner; 否则返回 null。
public Component searchChildComponentBelowPoint(float x, float y)
根据屏幕上的坐标搜索子组件。
参数:
参数名称 | 参数描述 |
---|---|
x | 表示水平坐标,以像素为单位。 |
y | 表示垂直坐标,以像素为单位。 |
返回:
如果获得则返回子组件; 否则返回 null。
public ComponentOwner getChildComponentOwner(Component child)
获取子组件的 ComponentOwner。
参数:
参数名称 | 参数描述 |
---|---|
child | 指示要查询的子组件。 |
返回:
如果获得,则返回 ComponentOwner; 如果 child 为 null、未获取 ComponentOwner 或发生异常,则返回 null。
public Component searchParentComponentOfChild(Component component)
搜索包含指定组件的子组件(grandchild 组件)。
参数:
参数名称 | 参数描述 |
---|---|
component | 指示 grandchild 组件。 |
返回:
如果获得则返回子组件; 否则返回 null。
public ComponentOwner searchParentComponentOwnerOfChild(Component component)
搜索包含指定组件(grandchild 组件)的子组件的 ComponentOwner。
参数:
参数名称 | 参数描述 |
---|---|
component | 指示 grandchild 组件。 |
返回:
如果获得,则返回 ComponentOwner; 否则返回 null。
public boolean hasIncomingProviderRefresh()
检查是否存在尚未应用于布局的提供程序更新。
返回:
如果存在未应用于布局的提供程序更新,则返回 true; 如果布局是最新的或发生异常,则返回 false。
public void addCachePolicyListener(ListComponent.CachePolicyListener listener)
为缓存策略添加侦听器。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示要添加的侦听器。 |
public void removeCachePolicyListener(ListComponent.CachePolicyListener listener)
删除缓存策略的侦听器。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示要删除的侦听器。 |
public ListComponentPool getListCachedPool()
获取此 ListComponent 的回收池。
如果没有为此 ListComponent 设置回收池,则此方法创建一个并返回它。
返回:
返回回收池。
public void setListCachedPool(ListComponentPool pool)
为此 ListComponent 设置回收池。
参数:
参数名称 | 参数描述 |
---|---|
pool | 指示要设置的回收池。 如果此参数为空,则创建并使用一个新池。 |
public void setRequestedCacheMax(int count)
设置可以缓存的屏幕外组件的最大数量。
参数:
参数名称 | 参数描述 |
---|---|
count | 指示要设置的离屏组件的数量。 |
public void scrollToPositionInSmoothMode(int position)
将此 ListComponent 平滑滚动到特定位置。
参数:
参数名称 | 参数描述 |
---|---|
position | 指示要滚动到的位置。 |
public boolean fling(int speedX, int speedY)
以水平和垂直方向的初始速度触发此 ListComponent 的投掷。
参数:
参数名称 | 参数描述 |
---|---|
speedX | 表示水平方向的初始速度,以像素/秒为单位。 |
speedY | 表示垂直方向的初始速度,以像素/秒为单位。 |
返回:
如果投掷开始,则返回 true; 如果由于初始速度低而无法启动投掷,如果 LayoutManager 不支持投掷,或者发生异常,则返回 false。
public int getMinFlingSpeed()
获得触发投掷的最小速度。
返回:
返回最小速度。
public int getMaxFlingSpeed()
获得触发投掷的最大速度。
返回:
返回最大速度。
public void scrollToPosition(int position)
将此 ListComponent 滚动到特定位置。
参数:
参数名称 | 参数描述 |
---|---|
position | 指示要滚动到的位置。 |
public void scrollTo(int x, int y)
将此 ListComponent 滚动到指定的水平和垂直坐标。
覆盖:
类 Component 中的 scrollTo
参数:
参数名称 | 参数描述 |
---|---|
x | 指示要滚动到的水平坐标。 |
y | 指示要滚动到的垂直坐标。 |
public void scrollBy(int x, int y)
将此 ListComponent 滚动一个相对距离。
覆盖:
类 Component 中的 scrollBy
参数:
参数名称 | 参数描述 |
---|---|
x | 指示要滚动的水平距离。 |
y | 指示要滚动的垂直距离。 |
public void stopScroll()
停止当前滚动。
public void scrollByInSmoothMode(int dx, int dy)
将此 ListComponent 平滑滚动一个相对距离。
参数:
参数名称 | 参数描述 |
---|---|
dx | 指示要滚动的水平距离,以像素为单位。 |
dy | 指示要滚动的垂直距离,以像素为单位。 |
public void scrollByInSmoothMode(int dx, int dy, Animator.TimelineCurve curve)
根据滚动曲线以相对距离平滑滚动此 ListComponent。
参数:
参数名称 | 参数描述 |
---|---|
dx | 指示要滚动的水平距离,以像素为单位。 |
dy | 指示要滚动的垂直距离,以像素为单位。 |
curve | 表示滚动曲线。 |
public void setItemAnimation(ItemAnimation animation)
设置一个 ItemAnimation 对象,用于处理提供者更改时发生的动画。
如果不调用此方法,将使用 DefaultItemAnimation。
参数:
参数名称 | 参数描述 |
---|---|
animation | 指示要设置的 ItemAnimation 对象。 如果此参数为 null,则当 ListComponent 中的子组件发生更改时,不会发生动画。 |
public ItemAnimation getItemAnimation()
获取 ItemAnimation 对象,该对象用于处理提供者更改时发生的动画。
返回:
如果获得,则返回 ItemAnimation 对象; 如果没有分配对象,则返回 null。
public boolean isListAnimating()
检查此 ListComponent 是否正在运行动画。
返回:
如果 ListComponent 正在运行动画,则返回 true; 否则返回 false。
public void addListAdornment(ListAdornment adorn, int index)
将 ListAdornment 对象添加到此 ListComponent 的指定位置。
参数:
参数名称 | 参数描述 |
---|---|
adorn | 指示要添加的 ListAdornment 对象。 |
index | 指示将添加 ListAdornment 对象的位置。 如果此参数设置为负值,则 ListAdornment 将添加到 ListComponent 的末尾。 |
public void addListAdornment(ListAdornment adorn)
在此 ListComponent 的末尾添加一个 ListAdornment 对象。
参数:
参数名称 | 参数描述 |
---|---|
adorn | 指示要添加的 ListAdornment 对象。 |
public ListAdornment getListAdornmentAt(int index)
获取具有此 ListComponent 的给定索引的 ListAdornment 对象。
参数:
参数名称 | 参数描述 |
---|---|
index | 指示要获取的 ListAdornment 对象的索引。 |
返回:
返回 ListAdornment 对象。
public int getListAdornmentCount()
获取此 ListComponent 中的 ListAdornment 对象的数量。
返回:
返回 ListAdornment 对象的数量。
public void removeListAdornmentAt(int index)
移除具有此 ListComponent 的给定索引的 ListAdornment 对象。
参数:
参数名称 | 参数描述 |
---|---|
index | 指示要删除的 ListAdornment 对象的索引。 |
public void removeListAdornment(ListAdornment decor)
从此 ListComponent 中移除给定的 ListAdornment 对象。
参数:
参数名称 | 参数描述 |
---|---|
decor | 指示要删除的 ListAdornment 对象。 |
public void refreshListAdornments()
主动刷新此 ListComponent 中的 ListAdornment 对象。
public void getAdornedBoundryIncludeMargin(Component component, Rect outBounds)
获取子组件的边界,包括其装饰和边距。
参数:
参数名称 | 参数描述 |
---|---|
component | 表示子组件。 |
outBounds | 表示用于保持边界的矩形。 |
public void postponeLayout(boolean isPostponeLayout)
设置是否推迟此 ListComponent 的布局请求。
如果布局请求被推迟,ListComponent 的布局和滚动将被禁用。
参数:
参数名称 | 参数描述 |
---|---|
isPostponeLayout | 指定是否推迟布局请求。 true 表示推迟布局请求,false 表示相反。 |
public boolean isPostponeLayout()
检查此 ListComponent 的布局请求是否被推迟。
返回:
如果布局请求被推迟,则返回 true; 否则返回 false。
public void setOnFlingListener(ListComponent.OnFlingListener listener)
为此 ListComponent 设置一个 OnFlingListener。 该监听器用于观察 ListComponent 的 fling 事件。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示要设置的 OnFlingListener。 |
public void setRecoverfocusAfterRefresh(boolean recoverFocusAfterRefresh)
设置此 ListComponent 在布局计算后是否保持同一个子组件的焦点。
参数:
参数名称 | 参数描述 |
---|---|
recoverFocusAfterRefresh | 指定 ListComponent 在布局计算后是否保持同一个子组件的焦点。 值 true 表示保持同一个子组件聚焦,false 表示相反。 默认值是true。 |
public boolean getRecoverfocusAfterRefresh()
检查此 ListComponent 在布局计算后是否保持同一个子组件的焦点。
返回:
如果 ListComponent 在布局计算后保持同一个子组件为焦点,则返回 true; 否则返回 false。
public void postLayout()
从类复制的描述:组件
请求重新排列组件的布局。
指定者:
ComponentParent 接口中的 postLayout
覆盖:
类 Component 中的 postLayout
public void setReboundEffect(boolean enabled)
设置是否开启反弹效果。
参数:
参数名称 | 参数描述 |
---|---|
enabled | 指定是否启用反弹效果。 true 表示启用反弹效果,false 表示相反。 |
public boolean getReboundEffect()
检查反弹效果是否开启。
返回:
如果启用了反弹效果,则返回 true; 否则返回 false。
public void setReboundEffectParams(int overscrollPercent, float overscrollRate, int remainVisiblePercent)
设置回弹效果参数。
参数:
参数名称 | 参数描述 |
---|---|
overscrollPercent | 表示过度滚动百分比。 默认值为 40。 |
overscrollRate | 表示超滚动率。 默认值为 0.6。 |
remainVisiblePercent | 指示在过度滚动期间应保持可见的可滚动内容的最小百分比。 默认值为 20。 |
public void setReboundEffectParams(ListComponent.ReboundEffectParams reboundEffectParams)
使用 ReboundEffectParams 对象设置回弹效果参数。
参数:
参数名称 | 参数描述 |
---|---|
reboundEffectParams | 表示一个包含反弹效果参数的 ReboundEffectParams 对象。 |
public ListComponent.ReboundEffectParams getReboundEffectParams()
以 ReboundEffectParams 对象的形式获取回弹效果参数。
返回:
返回包含反弹效果参数的 ReboundEffectParams 对象。
public void setLayoutManager(LayoutManager layoutManager)
从类复制的描述:ComponentContainer
设置一个 LayoutManager 实例,用于布局相关子组件。
覆盖:
ComponentContainer 类中的 setLayoutManager
参数:
参数名称 | 参数描述 |
---|---|
layoutManager | 指示要设置的布局管理器。 |
public boolean isScrollingSmoothly()
检查此 ListComponent 是否正在平滑滚动。
返回:
如果 ListComponent 正在平滑滚动,则返回 true; 否则返回 false。
public ComponentContainer.LayoutConfig verifyLayoutConfig(ComponentContainer.LayoutConfig config)
自定义一个 LayoutConfig 对象,使 ComponentOwner 拥有 ListLayoutManager 的元数据。
指定者:
接口 ComponentParent 中的 verifyLayoutConfig
覆盖:
ComponentContainer 类中的 verifyLayoutConfig
参数:
参数名称 | 参数描述 |
---|---|
config | 表示要转换为 ComponentContainer.LayoutConfig 实例的一组布局参数。 |
返回:
返回包含布局参数的 ComponentContainer.LayoutConfig 实例。
public void onBounceBackStart(int xOverScrolled, int yOverScrolled)
反弹开始时调用。
参数:
参数名称 | 参数描述 |
---|---|
xOverScrolled | 表示水平方向移动的距离。 |
yOverScrolled | 表示垂直方向移动的距离。 |
public void onBounceBackChange(int xOverScrolled, int yOverScrolled)
在反弹过程中调用。
参数:
参数名称 | 参数描述 |
---|---|
xOverScrolled | 表示水平方向移动的距离。 |
yOverScrolled | 表示垂直方向移动的距离。 |
public void onBounceBackEnd(int xOverScrolled, int yOverScrolled)
反弹结束时调用。
参数:
参数名称 | 参数描述 |
---|---|
xOverScrolled | 表示水平方向移动的距离。 |
yOverScrolled | 表示垂直方向移动的距离。 |
public void addBounceBackListener(ListComponent.BounceBackListener listener)
为反弹状态更改添加侦听器。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示要添加的侦听器。 |
public void removeBounceBackListener(ListComponent.BounceBackListener listener)
删除反弹状态更改的侦听器。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示要删除的侦听器。 |
public void clearBounceBackListeners()
删除反弹状态更改的所有侦听器。