鸿蒙OS ListContainer

2022-09-26 11:06 更新

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 指示要放在前面的组件。
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号