文档管理中心

ArcListItem

Phone23+PC/2in123+Tablet23+TV23+Wearable18+

用于展示弧形列表的子组件,必须配合ArcList使用。

说明
  • 该组件从API version 18开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
  • 该组件的父组件只能是ArcList
  • 当ArcListItem配合LazyForEach使用时,其子组件在ArcListItem创建时创建;配合if/elseForEach使用时,或直接作为ArcList组件的子组件使用时,其子组件在ArcListItem布局时创建。
  • 该组件支持在Phone、PC/2in1、Tablet、TV、Wearable设备上使用。API version 22及以前版本,在Phone、PC/2in1、Tablet、TV上使用会编译告警,但可以正常运行。

导入模块

说明
  • ArcListItemAttribute是用于配置ArcListItem组件属性的关键接口。API version 21及之前版本,导入ArcListItem组件后需要开发者手动导入ArcListItemAttribute,否则会编译报错。从API version 22开始,编译工具链识别到导入ArcListItem组件后,会自动导入ArcListItemAttribute,无需开发者手动导入ArcListItemAttribute。

  • 如果开发者手动导入ArcListItemAttribute,DevEco Studio中该导入语句会显示为置灰状态。在API version 21及之前版本,删除该导入语句会导致编译报错;从API version 22开始,删除该导入语句对功能无影响。

API version 21及之前版本:

收起
自动换行
深色代码主题
复制
  1. import { ArcListItem, ArcListItemAttribute } from '@kit.ArkUI';

API version 22及之后版本:

收起
自动换行
深色代码主题
复制
  1. import { ArcListItem } from '@kit.ArkUI';

子组件

可以包含单个子组件。

接口

Phone23+PC/2in123+Tablet23+TV23+Wearable18+

ArcListItem()

创建弧形列表子组件。

元服务API: 从API version 18开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

属性

除支持通用属性外,还支持以下属性:

autoScale

Phone23+PC/2in123+Tablet23+TV23+Wearable18+

autoScale(enable: Optional<boolean>)

用于设置ArcListItem是否自动缩放。开启后,ArcListItem会根据其在弧形列表中的位置自动调整显示尺寸。

元服务API: 从API version 18开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

参数:

展开
参数名 类型 必填 说明
enable Optional<boolean>

ArcListItem是否支持自动缩放显示,true表示支持,false表示不支持。

默认值:true,支持自动缩放显示。

swipeAction

Phone23+PC/2in123+Tablet23+TV23+Wearable18+

swipeAction(options: Optional<SwipeActionOptions>)

用于设置ArcListItem的划出操作。

元服务API: 从API version 18开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Circle

参数:

展开
参数名 类型 必填 说明
options Optional<SwipeActionOptions> ArcListItem划出操作的配置选项,具体配置请参考SwipeActionOptions对象说明。未设置时,不配置划出操作。

示例

该示例展示了子项关闭自动缩放和开启自动缩放后的对比效果。

收起
自动换行
深色代码主题
复制
  1. // xxx.ets
  2. import { LengthMetrics, CircleShape } from '@kit.ArkUI';
  3. // 从API version 22开始,无需手动导入ArcListAttribute和ArcListItemAttribute。具体请参考ArcList、ArcListItem的导入模块说明。
  4. import { ArcList, ArcListItem, ArcListAttribute, ArcListItemAttribute } from '@kit.ArkUI';
  5. @Entry
  6. @Component
  7. struct ArcListItemExample {
  8. private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  9. private watchSize: string = '466px'; // 手表默认宽高:466*466
  10. private itemSize: string = '414px'; // item宽度
  11. @Builder
  12. buildList() {
  13. Stack() {
  14. Column() {
  15. }
  16. .width(this.watchSize)
  17. .height(this.watchSize)
  18. .clipShape(new CircleShape({ width: '100%', height: '100%' }))
  19. .backgroundColor(0x707070)
  20. ArcList({ initialIndex: 3}) {
  21. ForEach(this.arr, (item: number) => {
  22. ArcListItem() {
  23. Button('' + item, { type: ButtonType.Capsule })
  24. .width(this.itemSize)
  25. .height('70px')
  26. .fontSize('40px')
  27. .backgroundColor(0x17A98D)
  28. }
  29. .autoScale(item % 3 == 0 || item % 5 == 0)
  30. }, (item: number) => item.toString())
  31. }
  32. .space(LengthMetrics.px(10))
  33. .borderRadius(this.watchSize)
  34. }
  35. .width(this.watchSize)
  36. .height(this.watchSize)
  37. }
  38. build() {
  39. Column() {
  40. this.buildList();
  41. }
  42. .width('100%')
  43. .height('100%')
  44. .alignItems(HorizontalAlign.Center)
  45. .justifyContent(FlexAlign.Center)
  46. }
  47. }

请输入您想要搜索的关键词