鸿蒙OS ListContainer
ListContainer
java.lang.Object
|---ohos.agp.components.Component
|---|---ohos.agp.components.ComponentContainer
|---|---|---ohos.agp.components.ListContainer
public class ListContainer
extends ComponentContainer
implements Text.TextObserver
提供在屏幕上向上或向下滚动时显示的列表容器。
此类继承自 ComponentContainer。 它使用 BaseItemProvider 来存储对象。
Since:
3
嵌套类摘要
修饰符和类型 | 类 | 描述 |
---|---|---|
static interface | ListContainer.ItemClickedListener | 侦听 ListContainer 项的单击事件。 |
static interface | ListContainer.ItemLongClickedListener | 提供用于侦听和处理 ListContainer 项的长按事件的侦听器。 |
static interface | ListContainer.ItemSelectedListener | 侦听 ListContainer 对象中组件项的选定事件。 |
static interface | ListContainer.ItemVisibilityChangedListener | 提供在将组件添加到可见项集中或从可见项集中删除时要调用的回调。 |
static class | ListContainer.ReboundEffectParams | 表示回弹效果参数。 |
static interface | ListContainer.ScrollListener | 表示用于监视 ListContainer 对象滚动结束的内部接口。 |
从类 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 | INVALID_INDEX | 指示无效索引。 |
static float | ROTATION_SENSITIVITY_DEFAULT | 指示 ListContainer 响应旋转表冠事件的默认旋转灵敏度。 |
static float | ROTATION_SENSITIVITY_HIGH | 表示 ListContainer 响应旋转表冠事件的高旋转灵敏度。 |
static float | ROTATION_SENSITIVITY_LOW | 指示 ListContainer 响应旋转表冠事件的低旋转灵敏度。 |
从类 ohos.agp.components.Component 继承的字段 |
---|
ACCESSIBILITY_ADAPTABLE, ACCESSIBILITY_DISABLE, ACCESSIBILITY_ENABLE, AXIS_X, AXIS_Y, CONTOUR_BACKGROUND, CONTOUR_BORDER, CONTOUR_PADDING_BORDER, DEFAULT_SCALE, DRAG_DOWN, DRAG_HORIZONTAL, DRAG_HORIZONTAL_VERTICAL, DRAG_LEFT, DRAG_RIGHT, DRAG_UP, DRAG_VERTICAL, EVENT_TYPE_COMPONENT_ACCESSIBILITY_FOCUSED, EVENT_TYPE_COMPONENT_ACCESSIBILITY_FOCUSED_CLEAR, EVENT_TYPE_COMPONENT_CLICKED, EVENT_TYPE_COMPONENT_FOCUSED, EVENT_TYPE_COMPONENT_LONG_CLICKED, EVENT_TYPE_COMPONENT_SCROLLED, EVENT_TYPE_COMPONENT_SELECTED, EVENT_TYPE_COMPONENT_TEXT_UPDATE, EVENT_TYPE_NOTICE, EVENT_TYPE_NOTIFICATION_STATE_UPDATE, EVENT_TYPE_TOAST_SHOW, EVENT_TYPE_WINDOW_STATE_UPDATE, FOCUS_ADAPTABLE, FOCUS_DISABLE, FOCUS_ENABLE, FOCUS_NEXT, FOCUS_PREVIOUS, FOCUS_SIDE_BOTTOM, FOCUS_SIDE_LEFT, FOCUS_SIDE_RIGHT, FOCUS_SIDE_TOP, HIDE, HORIZONTAL, ID_DEFAULT, INHERITED_MODE, INVISIBLE, mBackgroundElement, mCanvasForTaskOverContent, mCanvasForTaskUnderContent, mComponentParent, mContext, mDrawTaskOverContent, mDrawTaskUnderContent, mEstimateSizeListener, mForegroundElement, mForwardHoverListener, mHoverEventListener, mKeyEventListener, mMouseEventListener, mPosition, mRotationEventListener, mShadowElement, mUnconsumedKeyEventListener, OVAL_MODE, OVAL_SCROLL_BAR_MODE, POSITION_X_INDEX, POSITION_Y_INDEX, RECT_MODE, RECT_SCROLL_BAR_MODE, SCROLL_AUTO_STAGE, SCROLL_IDLE_STAGE, SCROLL_NORMAL_STAGE, UNSPECIFIED_SCROLL_BAR_MODE, VERTICAL, VISIBLE |
从类 ohos.agp.components.ComponentContainer 继承的字段 |
---|
FOCUS_CHILDREN_FIRST, FOCUS_CHILDREN_HIDE, FOCUS_PARENT_FIRST, mArrangeListener |
构造函数摘要
构造函数 | 描述 |
---|---|
ListContainer(Context context) | 用于使用默认属性集和样式创建 ListContainer 实例的默认构造函数。 |
ListContainer(Context context, AttrSet attrSet) | 用于在 XML 文件解析后使用指定的属性集和默认样式创建 ListContainer 实例的构造函数。 |
ListContainer(Context context, AttrSet attrSet, String styleName) | 用于在 XML 文件解析后使用指定的属性集和指定的样式创建 ListContainer 实例的构造函数。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
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 | addItemVisibilityChangedListener(ListContainer.ItemVisibilityChangedListener listener) | 将 ItemVisibilityChangedListener 添加到侦听器列表中。 |
boolean | executeItemClick(Component component, int position, long id) | 处理组件项的单击事件。 |
<T extends Component>T | findComponentById(int id) | 查找具有给定 ID 的组件。 |
Element | getBoundary() | 获取用作列表自定义边界的 Element 对象。 |
Color | getBoundaryColor() | 获取此 ListContainer 对象的边界颜色。 |
boolean | getBoundarySwitch() | 指定是否启用边界绘制。 |
int | getBoundaryThickness() | 获取边界线的粗细。 |
int | getCenterFocusablePosition() | 获取位于组件中心的可聚焦项的位置索引。 |
int | getChildCount() | 获取可以通过 setItemProvider(ohos.agp.components.BaseItemProvider) 设置的提供程序中的数据项总数。 |
Component | getComponentAt(int position) | 按位置从可见项集合中获取组件。 |
int | getContentEndOffset() | 获取列表容器的结束偏移量。 |
int | getContentStartOffset() | 获取列表容器的起始偏移量。 |
int | getExtraItemsNumber() | 获取添加到可见区域之外的顶部和底部或左侧和右侧(取决于 ListContainer 方向)的额外项目数。 |
int | getFirstVisibleItemPosition() | 已弃用。 此更改从 API 版本 5 开始生效。替换为 getItemPosByVisibleIndex(int) |
boolean | getFooterBoundarySwitch() | 检查是否为页脚组件启用了边界绘制。 |
boolean | getHeaderBoundarySwitch() | 检查是否为标题组件启用了边界绘制。 |
int | getIndexForComponent(Component component) | 获取组件项在 ListContainer 对象中的位置。 |
int | getItemPosByVisibleIndex(int index) | 获取可见项的位置索引。 |
BaseItemProvider | getItemProvider() | 获取与 ListContainer 对象关联的 BaseItemProvider 对象。 |
int | getLastVisibleItemPosition() | 已弃用。 此更改从 API 版本 5 开始生效。在传递等于 getVisibleIndexCount() 减 1 的值时由 getItemPosByVisibleIndex(int) 替换。 |
int | getOrientation() | 获取布局的方向。 |
boolean | getReboundEffect() | 获取反弹效果的状态。 |
ListContainer.ReboundEffectParams | getReboundEffectParams() | 获取反弹参数作为 ReboundEffectParams 对象。 |
int | getSelectedItemIndex() | 获取所选组件项的位置。 |
Color | getShaderColor() | 获取此 ListContainer 对象的着色器颜色。 |
String | getTextFilter() | 获取文本过滤器。 |
int | getVisibleIndexCount() | 获取提供程序数据集的最后一个和第一个可见项之间的大小差异。 |
void | moveChildToFront(Component component) | 将子组件置于最前面。 |
protected boolean | onItemLongClicked(ListContainer parent, Component component, int position, long id) | 当组件项被长按时调用。 |
protected void | onItemSelected(ListContainer parent, Component component, int position, long id) | 选择 ListContainer 对象中的组件项时调用。 |
void | onTextUpdated(String text, int start, int before, int count) | 文本更改时回调。 |
void | removeAllComponents() | 清除 ComponentContainer 管理的所有组件。 |
void | removeComponent(Component component) | 从父组件中移除子组件。 |
void | removeComponentAt(int index) | 从组件列表中的指定位置移除组件。 |
void | removeComponentById(int id) | 根据 ID 移除组件。 |
void | removeComponents(int start, int count) | 从组件列表中的指定位置移除所有组件。 |
void | removeItemVisibilityChangedListener(ListContainer.ItemVisibilityChangedListener listener) | 从侦听器列表中删除 ItemVisibilityChangedListener。 |
void | scrollTo(int position) | 滚动到列表容器中的指定组件项。 |
void | scrollToCenter(int position) | 将列表容器中的指定项目滚动到中心。 |
void | setBoundary(Element boundary) | 设置将在列表中的项目之间绘制的元素边界。 |
void | setBoundaryColor(Color color) | 设置此 ListContainer 对象的边界颜色。 |
void | setBoundarySwitch(boolean boundaryEnabled) | 设置是否启用组件的边界绘制。 |
void | setBoundaryThickness(int thickness) | 设置边界线的粗细。 |
void | setContentEndOffSet(int endOffset) | 设置列表容器的结束偏移量。 |
void | setContentOffSet(int startOffset, int endOffset) | 设置列表容器的开始和结束偏移量。 |
void | setContentStartOffSet(int startOffset) | 设置列表容器的起始偏移量。 |
void | setExtraItemsNumber(int number) | 设置添加到可见区域之外的顶部和底部或左侧和右侧(取决于 ListContainer 方向)的额外项目的数量。 |
void | setFooterBoundarySwitch(boolean footerBoundaryEnabled) | 设置是否为页脚组件启用边界绘制。 |
void | setHeaderBoundarySwitch(boolean headerBoundaryEnabled) | 设置是否为标题组件启用边界绘制。 |
void | setItemClickedListener(ListContainer.ItemClickedListener listener) | 为组件项设置单击侦听器。 |
void | setItemLongClickedListener(ListContainer.ItemLongClickedListener listener) | 为组件项设置长按侦听器。 |
void | setItemProvider(BaseItemProvider itemProvider) | 设置 BaseItemProvider 对象以向 ListContainer 对象提供要显示的组件。 |
void | setItemSelectedListener(ListContainer.ItemSelectedListener listener) | 为组件项设置选定的侦听器。 |
void | setLayoutManager(LayoutManager layoutManager) | 设置一个 LayoutManager 实例,用于布局相关子组件。 |
void | setOrientation(int orientation) | 设置布局的方向。 |
void | setReboundEffect(boolean enabled) | 设置是否开启反弹效果。 |
void | setReboundEffectParams(int overscrollPercent, float overscrollRate, int remainVisiblePercent) | 配置回弹效果参数。 |
void | setReboundEffectParams(ListContainer.ReboundEffectParams reboundEffectParams) | 设置回弹效果参数。 |
void | setScrollListener(ListContainer.ScrollListener listener) | 设置侦听器以监视 ListContainer 对象的滚动结束。 |
void | setSelectedItemIndex(int index) | 根据输入位置选择组件项。 |
void | setShaderColor(Color color) | 设置此 ListContainer 对象的着色器颜色。 |
void | setTextFilter(String filterText) | 设置文本过滤器。 |
从类 ohos.agp.components.Component 继承的方法 |
---|
addDrawTask, addDrawTask, addScrolledListener, announceAccessibility, arrange, bindCornerMark, callOnClick, canScroll, clearFocus, createAnimatorProperty, disableFadeEffect, draw, enableCornerMark, enableFadeEffect, enableSaveState, enableScrollBar, estimateSize, executeDoubleClick, executeLongClick, findFocus, findNextFocusableComponent, findRequestNextFocus, getAccessibility, getAccessibilityDescription, getAlpha, getAltitude, getBackgroundElement, getBaseLine, getBottom, getBoundaryFadeEffectBottomRate, getBoundaryFadeEffectLeftRate, getBoundaryFadeEffectRightRate, getBoundaryFadeEffectTopRate, getCenterZoomFactor, getCentralScrollMode, getClickedListener, getClipEnabled, getComponentDescription, getComponentMinSize, getComponentParent, getComponentPosition, getComponentSize, getComponentStateChangedListener, getComponentTreeObserver, getContentEnable, getContentPosition, getContentPositionX, getContentPositionY, getContext, getContour, getContourRefreshedListener, getCornerMark, getDragAcceptAngle, getDraggedListener, getEditEventListener, getEstimatedHeight, getEstimatedWidth, getFadeEffectBoundaryWidth, getFadeEffectColor, getFocusable, getFocusBorderEnable, getFocusBorderPadding, getFocusBorderRadius, getFocusBorderWidth, getForegroundElement, getForegroundGravity, getForwardHoverListener, getForwardTouchListener, getGesturePriority, getHeight, getHorizontalPadding, getHorizontalPosition, getHoverEventListener, getId, getKeyEventListener, getLayoutConfig, getLayoutDirection, getLayoutDirectionResolved, getLayoutRefreshedListener, getLeft, getLocationOnScreen, getMarginBottom, getMarginLeft, getMarginRight, getMargins, getMarginsLeftAndRight, getMarginsTopAndBottom, getMarginTop, getMatrix, getMinHeight, getMinWidth, getMode, getModeResolved, getMouseEventListener, getMousePointerStyleListener, getName, getPadding, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getPivot, getPivotX, getPivotY, getResourceManager, getRight, getRotation, getRotationEventListener, getRotationSensitivity, getScale, getScaledListener, getScaleX, getScaleY, getScrollbarBackgroundColor, getScrollbarColor, getScrollbarFadingDelay, getScrollbarFadingDuration, getScrollBarMode, getScrollbarRadius, getScrollbarRoundRect, getScrollbarStartAngle, getScrollbarSweepAngle, getScrollbarThickness, getScrollState, getScrollValue, getSelfVisibleRect, getShadowColor, getSpeechEventListener, getTag, getTop, getTouchEventListener, getTransitionSymbol, getTranslation, getTranslationX, getTranslationY, getTranslationZ, getUserNextFocus, getVerticalPadding, getVerticalPosition, getVisibility, getVisibleRectOnScreen, getWidth, getWindowVisibleRect, hasFocus, hasFocusedEffect, hasOverlaps, hideFocusBorder, invalidate, isBoundaryFadeEffectEnable, isBoundToWindow, isClickable, isClipToContourEnabled, isComponentDisplayed, isEnabled, isFadeEffected, isFocusable, isFocused, isIdentityMatrix, isLongClickOn, isPressed, isRtl, isSaveStateEnabled, isScrollbarFadingOn, isScrollBarOn, isScrollbarOverlapEnabled, isSelected, isSoundEnable, isTouchFocusable, isVibrationEffectEnabled, notifyAccessibility, onAttributeConfigChanged, onRestoreState, onRtlChanged, onSaveState, performScale, playSound, postLayout, refreshContour, release, removeBindStateChangedListener, removeScrolledListener, requestFocus, requestForceForwardTouchEvent, restoreComponentTreeState, saveComponentTreeState, scrollBy, scrollTo, setAccessibility, setAccessibilityDescription, setAlpha, setAltitude, setBackground, setBindStateChangedListener, setBottom, setBoundaryFadeEffectEnable, setCanAcceptScrollListener, setCenterZoomFactor, setCentralScrollMode, setClickable, setClickedListener, setClipEnabled, setClipToContourEnabled, setComponentDescription, setComponentMinSize, setComponentPosition, setComponentPosition, setComponentSize, setComponentStateChangedListener, setContentEnable, setContentPosition, setContentPositionX, setContentPositionY, setContour, setContourRefreshedListener, setDoubleClickedListener, setDragAcceptAngle, setDraggedListener, setEditEventListener, setEnabled, setEstimatedSize, setEstimateSizeListener, setFadeEffectBoundaryWidth, setFadeEffectColor, setFocusable, setFocusBorderEnable, setFocusBorderPadding, setFocusBorderRadius, setFocusBorderRadius, setFocusBorderWidth, setFocusChangedListener, setFocusedEffect, setForeground, setForegroundGravity, setForwardHoverListener, setForwardTouchListener, setGesturePriority, setHeight, setHorizontalPadding, setHorizontalPosition, setHoverEventListener, setId, setKeyEventListener, setLayoutConfig, setLayoutDirection, setLayoutRefreshedListener, setLeft, setLongClickable, setLongClickedListener, setMarginBottom, setMarginLeft, setMarginRight, setMarginsLeftAndRight, setMarginsTopAndBottom, setMarginTop, 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, findComponentHolderById, getAutoLayout, getChildIndex, getComponentTransition, getFocusOrder, getLayoutManager, informConfigurationChanged, isClipToChildBoundsEnabled, isClipToPaddingBoundsEnabled, isTouchEventSplitable, onDrag, setArrangeListener, setAutoLayout, setAutoLayout, setClipToChildBoundsEnabled, setClipToPaddingBoundsEnabled, setComponentTransition, setFocusOrder, setTouchEventSplitable, verifyLayoutConfig |
从接口 ohos.agp.components.ComponentParent 继承的方法 |
---|
getComponentParent, postLayout |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息
INVALID_INDEX
public static final int INVALID_INDEX
指示无效索引。
索引只有在其索引为从 0 到组件项总数之间的整数时才有效。
ROTATION_SENSITIVITY_DEFAULT
public static final float ROTATION_SENSITIVITY_DEFAULT
指示 ListContainer 响应旋转表冠事件的默认旋转灵敏度。 您可以使用 Component.setRotationSensitivity(float) 进行设置。
ROTATION_SENSITIVITY_HIGH
public static final float ROTATION_SENSITIVITY_HIGH
表示 ListContainer 响应旋转表冠事件的高旋转灵敏度。 您可以使用 Component.setRotationSensitivity(float) 进行设置。
ROTATION_SENSITIVITY_LOW
public static final float ROTATION_SENSITIVITY_LOW
指示 ListContainer 响应旋转表冠事件的低旋转灵敏度。 您可以使用 Component.setRotationSensitivity(float) 进行设置。
构造函数详细信息
ListContainer
public ListContainer(Context context)
用于使用默认属性集和样式创建 ListContainer 实例的默认构造函数。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
ListContainer
public ListContainer(Context context, AttrSet attrSet)
用于在 XML 文件解析后使用指定的属性集和默认样式创建 ListContainer 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
attrSet | 指示要使用的属性集。 |
ListContainer
public ListContainer(Context context, AttrSet attrSet, String styleName)
用于在 XML 文件解析后使用指定的属性集和指定的样式创建 ListContainer 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
attrSet | 指示要使用的属性集。 |
styleName | 指示要使用的样式名称。 |
方法详情
setLayoutManager
public void setLayoutManager(LayoutManager layoutManager)
从类复制的描述:ComponentContainer
设置一个 LayoutManager 实例,用于布局相关子组件。
覆盖:
ComponentContainer 类中的 setLayoutManager
参数:
参数名称 | 参数描述 |
---|---|
layoutManager | 指示要设置的布局管理器。 |
onTextUpdated
public void onTextUpdated(String text, int start, int before, int count)
文本更改时回调。
该方法用于处理变化的文本,例如验证输入的LOV得到LOVE,其中text为LOVE,start为3,before为3,count为1。
指定者:
接口 Text.TextObserver 中的 onTextUpdated
参数:
参数名称 | 参数描述 |
---|---|
text | 表示当前文本。 |
start | 指示要添加的文本的起始位置。 |
before | 表示旧文本的长度。 |
count | 表示要添加的文本的长度。 |
scrollTo
public void scrollTo(int position)
滚动到列表容器中的指定组件项。
参数:
参数名称 | 参数描述 |
---|---|
position | 表示指定组件项的位置索引。 |
setContentStartOffSet
public void setContentStartOffSet(int startOffset)
设置列表容器的起始偏移量。
参数:
参数名称 | 参数描述 |
---|---|
startOffset | 指示要设置的起始偏移量。 |
Since:
4
setContentEndOffSet
public void setContentEndOffSet(int endOffset)
设置列表容器的结束偏移量。
参数:
参数名称 | 参数描述 |
---|---|
endOffset | 指示要设置的结束偏移量。 |
Since:
4
setContentOffSet
public void setContentOffSet(int startOffset, int endOffset)
设置列表容器的开始和结束偏移量。
参数:
参数名称 | 参数描述 |
---|---|
startOffset | 指示要设置的起始偏移量。 |
endOffset | 指示要设置的结束偏移量。 |
Since:
4
getContentStartOffset
public int getContentStartOffset()
获取列表容器的起始偏移量。
返回:
返回起始偏移量。
Since:
4
getContentEndOffset
public int getContentEndOffset()
获取列表容器的结束偏移量。
返回:
返回结束偏移量。
Since:
4
scrollToCenter
public void scrollToCenter(int position)
将列表容器中的指定项目滚动到中心。
参数:
参数名称 | 参数描述 |
---|---|
position | 表示指定组件项的位置索引。 |
setItemClickedListener
public void setItemClickedListener(ListContainer.ItemClickedListener listener)
为组件项设置单击侦听器。
该方法继承自ItemClickedListener,用于处理组件项的点击事件。
参数:
参数名称 | 参数描述 |
---|---|
listener | 表示点击监听。 |
executeItemClick
public boolean executeItemClick(Component component, int position, long id)
处理组件项的单击事件。
该方法仅在为组件项设置了点击监听时有效。
参数:
参数名称 | 参数描述 |
---|---|
component | 表示被点击的组件项。 |
position | 表示被点击的组件项的位置。 |
id | 表示被点击的组件项的行ID。 |
返回:
如果设置了点击监听并处理了点击事件,则返回true; 否则返回 false。
Since:
4
setItemLongClickedListener
public void setItemLongClickedListener(ListContainer.ItemLongClickedListener listener)
为组件项设置长按侦听器。
该方法继承自ItemLongClickedListener,用于处理组件项的长按事件。
参数:
参数名称 | 参数描述 |
---|---|
listener | 表示长按监听。 |
onItemLongClicked
protected boolean onItemLongClicked(ListContainer parent, Component component, int position, long id)
当组件项被长按时调用。
调用该方法处理组件项的长按事件。
参数:
参数名称 | 参数描述 |
---|---|
parent | 指示 ListContainer 对象。 |
component | 表示长按的组件项。 |
position | 指示长按组件项的位置。 |
id | 表示长按组件项的行ID。 |
返回:
如果处理了长按事件,则返回 true; 否则返回 false。
setScrollListener
public void setScrollListener(ListContainer.ScrollListener listener)
设置侦听器以监视 ListContainer 对象的滚动结束。
参数:
参数名称 | 参数描述 |
---|---|
listener | 表示一个 ListContainer.ScrollListener 对象,表示要设置的监听器。 |
Since:
4
setItemSelectedListener
public void setItemSelectedListener(ListContainer.ItemSelectedListener listener)
为组件项设置选定的侦听器。
该方法继承自ItemSelectedListener,被调用来处理组件项的选定事件。
参数:
参数名称 | 参数描述 |
---|---|
listener | 表示选择的监听器。 |
onItemSelected
protected void onItemSelected(ListContainer parent, Component component, int position, long id)
选择 ListContainer 对象中的组件项时调用。
参数:
参数名称 | 参数描述 |
---|---|
parent | 指示 ListContainer 对象。 |
component | 表示选中的组件项。 |
position | 指示所选组件项的位置。 |
id | 表示所选组件项的行 ID。 |
findComponentById
public <T extends Component> T findComponentById(int id)
查找具有给定 ID 的组件。
如果当前组件本身的 ID 与给定 ID 匹配,则返回当前组件。 否则,返回 null。
覆盖:
ComponentContainer 类中的 findComponentById
参数:
参数名称 | 参数描述 |
---|---|
id | 表示组件的唯一标识符。 |
返回:
返回 ID 与给定 ID 匹配的组件; 如果没有找到组件,则返回 null。
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 中不允许使用方法。 |
getChildCount
public int getChildCount()
获取可以通过 setItemProvider(ohos.agp.components.BaseItemProvider) 设置的提供程序中的数据项总数。
覆盖:
ComponentContainer 类中的 getChildCount
返回:
返回提供程序中的数据项总数。
Since:
5
getComponentAt
public Component getComponentAt(int position)
按位置从可见项集合中获取组件。 如果 Component 不在可见项集中,则返回 null。
可以使用 ItemVisibilityChangedListener 检查是否在组件从可见项目集中删除之前获得。
覆盖:
类 ComponentContainer 中的 getComponentAt
参数:
参数名称 | 参数描述 |
---|---|
position | 表示子组件的索引。 |
返回:
如果组件可见,则按位置返回,否则返回 null。
Since:
5
setExtraItemsNumber
public void setExtraItemsNumber(int number)
设置添加到可见区域之外的顶部和底部或左侧和右侧(取决于 ListContainer 方向)的额外项目的数量。 默认值为 0。
参数:
参数名称 | 参数描述 |
---|---|
number | 表示额外项目的数量。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 number 为负数,则抛出此异常。 |
Since:
5
getExtraItemsNumber
public int getExtraItemsNumber()
获取添加到可见区域之外的顶部和底部或左侧和右侧(取决于 ListContainer 方向)的额外项目数。
返回:
返回额外项目的数量。
Since:
5
addItemVisibilityChangedListener
public void addItemVisibilityChangedListener(ListContainer.ItemVisibilityChangedListener listener)
将 ItemVisibilityChangedListener 添加到侦听器列表中。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示 ItemVisibilityChangedListener。 |
Since:
5
removeItemVisibilityChangedListener
public void removeItemVisibilityChangedListener(ListContainer.ItemVisibilityChangedListener listener)
从侦听器列表中删除 ItemVisibilityChangedListener。
参数:
参数名称 | 参数描述 |
---|---|
listener | 指示 ItemVisibilityChangedListener。 |
Since:
5
getIndexForComponent
public int getIndexForComponent(Component component)
获取组件项在 ListContainer 对象中的位置。
参数:
参数名称 | 参数描述 |
---|---|
component | 指示与 Component 项匹配的 BaseItemProvider 项。 |
返回:
返回 Component 项在 ListContainer 对象中的位置; 如果 Component 项不可见或未包含在 ListContainer 对象中,则返回 INVALID_INDEX。
Since:
4
getLastVisibleItemPosition
@Deprecated public int getLastVisibleItemPosition()
已弃用。 此更改从 API 版本 5 开始生效。在传递等于 getVisibleIndexCount() 减 1 的值时由 getItemPosByVisibleIndex(int) 替换。
获取提供者数据集中最后一个可见项的位置索引。
返回:
返回提供者数据集中最后一个可见项的位置索引。
Since:
5
getFirstVisibleItemPosition
@Deprecated public int getFirstVisibleItemPosition()
已弃用。 此更改从 API 版本 5 开始生效。替换为 getItemPosByVisibleIndex(int)
获取提供者数据集中第一个可见项的位置索引。
返回:
返回提供者数据集中第一个可见项的位置索引。
Since:
5
getItemPosByVisibleIndex
public int getItemPosByVisibleIndex(int index)
获取可见项的位置索引。
参数:
参数名称 | 参数描述 |
---|---|
index | 表示可见项的索引。 |
返回:
返回可见项的位置索引。
Since:
5
getVisibleIndexCount
public int getVisibleIndexCount()
获取提供程序数据集的最后一个和第一个可见项之间的大小差异。
返回:
返回大小差异。
Since:
5
getCenterFocusablePosition
public int getCenterFocusablePosition()
获取位于组件中心的可聚焦项的位置索引。
返回:
如果提供者数据集中存在可聚焦项目,则返回组件中心的位置索引,如果不存在则返回 -1。
Since:
3
setReboundEffect
public void setReboundEffect(boolean enabled)
设置是否开启反弹效果。
参数:
参数名称 | 参数描述 |
---|---|
enabled | 指定是否启用反弹效果。 true 表示开启反弹效果; false 表示关闭反弹效果。 |
Since:
3
getReboundEffect
public boolean getReboundEffect()
获取反弹效果的状态。
返回:
如果启用了反弹效果,则返回 true; 否则返回 false。
Since:
3
setShaderColor
public void setShaderColor(Color color)
设置此 ListContainer 对象的着色器颜色。
参数:
参数名称 | 参数描述 |
---|---|
color | 指示要设置的着色器颜色。 |
Since:
3
getShaderColor
public Color getShaderColor()
获取此 ListContainer 对象的着色器颜色。
返回:
返回着色器颜色。
Since:
3
setOrientation
public void setOrientation(int orientation)
设置布局的方向。
参数:
参数名称 | 参数描述 |
---|---|
orientation | 将用于布局的方向。 Component#HORIZONTAL 或 Component#VERTICAL 都适用。 |
Since:
3
setBoundary
public void setBoundary(Element boundary)
设置将在列表中的项目之间绘制的元素边界。
参数:
参数名称 | 参数描述 |
---|---|
boundary | 指示要用作自定义边界的 Element 对象。 null 表示要使用默认边界。 |
Since:
5
getBoundary
public Element getBoundary()
获取用作列表自定义边界的 Element 对象。
返回:
返回元素对象。
Since:
5
setFooterBoundarySwitch
public void setFooterBoundarySwitch(boolean footerBoundaryEnabled)
设置是否为页脚组件启用边界绘制。
参数:
参数名称 | 参数描述 |
---|---|
footerBoundaryEnabled | 指定是否为页脚组件启用边界绘制。 true 表示启用边界绘制,false 表示相反的情况。 |
Since:
5
getFooterBoundarySwitch
public boolean getFooterBoundarySwitch()
检查是否为页脚组件启用了边界绘制。
返回:
如果启用了边界绘制,则返回 true; 否则返回 false。
Since:
5
setHeaderBoundarySwitch
public void setHeaderBoundarySwitch(boolean headerBoundaryEnabled)
设置是否为标题组件启用边界绘制。
参数:
参数名称 | 参数描述 |
---|---|
headerBoundaryEnabled | 指定是否为标题组件启用边界绘制。 true 表示启用边界绘制,false 表示相反的情况。 |
Since:
5
getHeaderBoundarySwitch
public boolean getHeaderBoundarySwitch()
检查是否为标题组件启用了边界绘制。
返回:
如果启用了边界绘制,则返回 true; 否则返回 false。
Since:
5
setBoundarySwitch
public void setBoundarySwitch(boolean boundaryEnabled)
设置是否启用组件的边界绘制。
参数:
参数名称 | 参数描述 |
---|---|
boundaryEnabled | 指定是否启用组件的边界绘制。 true 表示启用边界绘制,false 表示相反的情况。 |
Since:
5
getBoundarySwitch
public boolean getBoundarySwitch()
指定是否启用边界绘制。
返回:
如果启用了边界绘制,则返回 true; 否则返回 false。
Since:
5
setBoundaryColor
public void setBoundaryColor(Color color)
设置此 ListContainer 对象的边界颜色。
参数:
参数名称 | 参数描述 |
---|---|
color | 指示要设置的边界颜色。 |
Since:
5
getBoundaryColor
public Color getBoundaryColor()
获取此 ListContainer 对象的边界颜色。
返回:
返回边界颜色。
Since:
5
setBoundaryThickness
public void setBoundaryThickness(int thickness)
设置边界线的粗细。
参数:
参数名称 | 参数描述 |
---|---|
thickness | 表示边界厚度,以像素为单位。 |
Since:
5
getBoundaryThickness
public int getBoundaryThickness()
获取边界线的粗细。
返回:
返回边界厚度,以像素为单位。
Since:
5
setSelectedItemIndex
public void setSelectedItemIndex(int index)
根据输入位置选择组件项。
参数:
参数名称 | 参数描述 |
---|---|
index | 表示要选择的组件项的位置,为非负整数。 |
Since:
4
getSelectedItemIndex
public int getSelectedItemIndex()
获取所选组件项的位置。
返回:
返回所选组件项的位置; 如果未选择任何组件项,则返回 INVALID_INDEX。
Since:
4
setTextFilter
public void setTextFilter(String filterText)
设置文本过滤器。
参数:
参数名称 | 参数描述 |
---|---|
filterText | 指示要使用的文本过滤器。 |
getTextFilter
public String getTextFilter()
获取文本过滤器。
返回:
返回文本过滤器。
Since:
4
getItemProvider
public BaseItemProvider getItemProvider()
获取与 ListContainer 对象关联的 BaseItemProvider 对象。
返回:
返回关联的 BaseItemProvider 对象。
setItemProvider
public void setItemProvider(BaseItemProvider itemProvider)
设置 BaseItemProvider 对象以向 ListContainer 对象提供要显示的组件。
参数:
参数名称 | 参数描述 |
---|---|
itemProvider | 指示 BaseItemProvider 对象。 |
getOrientation
public int getOrientation()
获取布局的方向。
返回:
用于布局的方向。
Since:
3
setReboundEffectParams
public void setReboundEffectParams(int overscrollPercent, float overscrollRate, int remainVisiblePercent)
配置回弹效果参数。
参数:
参数名称 | 参数描述 |
---|---|
overscrollPercent | 表示过度滚动百分比(默认值:40)。 如果滚动内容的百分比超过该参数的值,则内容滚动速度受 overscrollRate 参数的影响。 具体来说,如果 overscrollRate 的值小于 1.0,则您的手指移动速度快于内容。 |
overscrollRate | 表示过度滚动率(默认值:0.6)。 如果滚动内容的百分比超过 overscrollPercent 参数的值,此参数会影响内容滚动速度。 具体来说,内容滚动速度等于手指滚动速度乘以overscrollRate的值。 |
remainVisiblePercent | 指示在过度滚动期间应保持可见的可滚动内容的最小百分比。 默认值为 20。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果至少满足以下条件之一: (1) overscrollPercent 不在 [0, 100] 范围内 (2) overscrollRate <= 0 (3)保持可见百分比不在 [0, 100] 范围内 |
Since:
4
setReboundEffectParams
public void setReboundEffectParams(ListContainer.ReboundEffectParams reboundEffectParams)
设置回弹效果参数。
参数:
参数名称 | 参数描述 |
---|---|
reboundEffectParams | 表示一个包含反弹效果参数的 ReboundEffectParams 对象。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果反弹效果参数为空或包含无效值。 |
Since:
4
getReboundEffectParams
public ListContainer.ReboundEffectParams getReboundEffectParams()
获取反弹参数作为 ReboundEffectParams 对象。
返回:
返回包含反弹参数的 ReboundEffectParams 对象。
Since:
4
moveChildToFront
public void moveChildToFront(Component component)
将子组件置于最前面。
指定者:
接口 ComponentParent 中的 moveChildToFront
覆盖:
ComponentContainer 类中的 moveChildToFront
参数:
参数名称 | 参数描述 |
---|---|
component | 指示要放在前面的组件。 |