1# ArcListItem 2 3<!--Kit: ArkUI--> 4<!--Subsystem: ArkUI--> 5<!--Owner: @yylong--> 6<!--Designer: @yylong--> 7<!--Tester: @liuzhenshuo--> 8<!--Adviser: @HelloCrease--> 9 10用来展示列表具体子组件,必须配合[ArcList](ts-container-arclist.md)来使用。 11 12> **说明:** 13> 14> - 该组件从API version 18开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 15> - 该组件的父组件只能是[ArcList](ts-container-arclist.md)。 16> - 当ArcListItem配合[LazyForEach](../../../ui/state-management/arkts-rendering-control-lazyforeach.md)使用时,ArcListItem子组件在ArcListItem创建时创建。配合[if/else](../../../ui/state-management/arkts-rendering-control-ifelse.md)、[ForEach](../../../ui/state-management/arkts-rendering-control-foreach.md)使用时,或父组件为[ArcList](ts-container-arclist.md)时,ArcListItem子组件在ArcListItem布局时创建。 17 18## 导入模块 19 20```ts 21import { ArcListItem, ArcListItemAttribute } from '@kit.ArkUI'; 22``` 23 24## 子组件 25 26可以包含单个子组件。 27 28## 接口 29 30### ArcListItem 31 32ArcListItem() 33 34创建弧形列表子组件。 35 36**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 37 38**系统能力:** SystemCapability.ArkUI.ArkUI.Circle 39 40## 属性 41 42除支持[通用属性](ts-component-general-attributes.md)外,还支持以下属性: 43 44### autoScale 45 46autoScale(enable: Optional\<boolean>) 47 48用于设置ArcListItem是否支持自动缩放显示。 49 50**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 51 52**系统能力:** SystemCapability.ArkUI.ArkUI.Circle 53 54**参数:** 55 56| 参数名 | 类型 | 必填 | 说明 | 57| ------ | ------------------ | ---- | ------------------------------------------- | 58| enable | Optional\<boolean> | 是 | ArcListItem是否支持自动缩放显示,true表示支持自动缩放显示,false表示不支持自动缩放显示。<br/>默认值:true,支持自动缩放显示。 | 59 60### swipeAction 61 62swipeAction(options: Optional\<SwipeActionOptions>) 63 64用于设置ArcListItem的划出组件。 65 66**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 67 68**系统能力:** SystemCapability.ArkUI.ArkUI.Circle 69 70**参数:** 71 72| 参数名 | 类型 | 必填 | 说明 | 73| ------- | ------------------------------------------------------------ | ---- | ----------------------- | 74| options | [Optional\<SwipeActionOptions>](ts-container-listitem.md#swipeactionoptions9对象说明) | 是 | ArcListItem的划出组件。 | 75 76## 示例 77 78该示例展示了子项关闭自动缩放和开启自动缩放后的对比效果。 79 80```ts 81// xxx.ets 82import { LengthMetrics, CircleShape } from '@kit.ArkUI'; 83import { ArcList, ArcListItem, ArcListAttribute, ArcListItemAttribute } from '@kit.ArkUI'; 84 85@Entry 86@Component 87struct ArcListItemExample { 88 private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 89 private watchSize: string = '466px'; // 手表默认宽高:466*466 90 private itemSize: string = '414px'; // item宽度 91 92 @Builder 93 buildList() { 94 Stack() { 95 Column() { 96 } 97 .width(this.watchSize) 98 .height(this.watchSize) 99 .clipShape(new CircleShape({ width: '100%', height: '100%' })) 100 .backgroundColor(0x707070) 101 102 ArcList({ initialIndex: 3}) { 103 ForEach(this.arr, (item: number) => { 104 ArcListItem() { 105 Button('' + item, { type: ButtonType.Capsule }) 106 .width(this.itemSize) 107 .height('70px') 108 .fontSize('40px') 109 .backgroundColor(0x17A98D) 110 } 111 .autoScale(item % 3 == 0 || item % 5 == 0) 112 }, (item: number) => item.toString()) 113 } 114 .space(LengthMetrics.px(10)) 115 .borderRadius(this.watchSize) 116 } 117 .width(this.watchSize) 118 .height(this.watchSize) 119 } 120 121 build() { 122 Column() { 123 this.buildList(); 124 } 125 .width('100%') 126 .height('100%') 127 .alignItems(HorizontalAlign.Center) 128 .justifyContent(FlexAlign.Center) 129 } 130} 131``` 132 133