Skip to main content
版本:v3+

CYCLE_LIST

API_LEVEL 2.0 开始支持,API 兼容性请参考 API_LEVEL

cycle_list_sample

创建一个可以循环滚动的列表,每个 item 可以设置为一张图片。

创建 UI 控件

import { createWidget, widget } from '@zos/ui'

const cycleList = createWidget(widget.CYCLE_LIST, Param)

类型

Param: object

属性说明是否必须类型
item_heightitem 高度number
item_bg_coloritem 背景色number
x控件 x 坐标number
y控件 y 坐标number
w控件显示宽度number
h控件显示高度number
data_array数据数组array
data_size数组长度number
item_click_func点击 item 的回调ItemClickFunc
item_focus_change_funcitem 焦点态回调ItemFocusChangeFunc

ItemClickFunc: function

(cycleList: CycleList, index: number) => void
参数说明类型
cycleListcycleList 实例object
index点击的 item 索引 从 0 开始number

ItemFocusChangeFunc: function

(cycleList: CycleList, index: number, isFocus: boolean) => void
参数说明类型
cycleListcycleList 实例object
index失去/获取焦点 item 的索引number
isFocus是否获取焦点boolean

属性访问支持列表

属性名setPropertygetPropertysettergetter
xYYYY
yYYYY
wYYYY
hYYYY
data_arrayNNNY
data_sizeNNNY
item_bg_colorNNNY
item_heightNNNY
item_click_funcNNYY
item_focus_change_funcNNYY

代码示例

提示

代码示例中的图片资源请参考 设计资源

import { createWidget, widget } from '@zos/ui'

Page({
state: {
pageName: 'CYCLE_LIST'
},

build() {
const imgArray = ['number-img/0.png', 'number-img/1.png', 'number-img/2.png', 'number-img/3.png', 'number-img/4.png']
const cycleList = createWidget(widget.CYCLE_LIST, {
x: 230,
y: 120,
h: 300,
w: 30,
data_array: imgArray,
data_size: 5,
item_height: 100,
item_click_func: (list, index) => {
console.log(index)
},
item_bg_color: 0xffffff
})
}
})

补充示例

示例 1

import { createWidget, widget } from '@zos/ui'

const imgListStyleObj = {
data_array: imgArray,
data_size: 11,
item_bg_color: 0x0007f,
layout: {
width: '20vw',
height: '65vh',
item_height: '13vh',
},
}

const rootContainer = createWidget(widget.VIRTUAL_CONTAINER, {
layout: { x: '0vw', y: '0vh', width: '100vw', height: '70vh' },
})

const groupRoot = createWidget(widget.GROUP, {
parent: rootContainer,
layout: {
display: 'flex',
'flex-flow': 'row wrap',
'column-gap': '20',
'row-gap': '10',
'justify-content': 'space-evenly',
'align-items': 'center',
width: '100%',
height: '100%',
},
})

for (let i = 0; i < 3; i += 1) {
groupRoot.createWidget(widget.CYCLE_LIST, imgListStyleObj)
}