HarmonyOS 与 ArkTS | ForEach 循环渲染 + List 实现滑动视频列表
本文为记录,内容较简单,无注释。
实现效果:
代码:
import image from '@ohos.multimedia.image'
class Item{
name: string
classification: string
image: ResourceStr
constructor(name: string, classification: string, image: ResourceStr) {
this.name = name
this.classification = classification
this.image = image
}
}
@Entry
@Component
struct Index {
count: number = 0
private items: Array<Item> = [
new Item('药屋少女的呢喃', '日本动漫 悬疑 剧情', $rawfile('C1.jpg')),
new Item('进击的巨人最终季', '日本动漫 热血 战斗 冒险', $rawfile('C2.jpg')),
new Item('神兵小将', '国产动漫', $rawfile('C3.jpg')),
new Item('甜心格格', '国产动漫 搞笑 剧情', $rawfile('C4.jpg')),
new Item('洛克王国:圣龙的守护', '奇幻 冒险 国产动漫', $rawfile('C5.jpg')),
//复制
new Item('药屋少女的呢喃', '日本动漫 悬疑 剧情', $rawfile('C1.jpg')),
new Item('进击的巨人最终季', '日本动漫 热血 战斗 冒险', $rawfile('C2.jpg')),
new Item('神兵小将', '国产动漫', $rawfile('C3.jpg')),
new Item('甜心格格', '国产动漫 搞笑 剧情', $rawfile('C4.jpg')),
new Item('洛克王国:圣龙的守护', '奇幻 冒险 国产动漫', $rawfile('C5.jpg')),
new Item('药屋少女的呢喃', '日本动漫 悬疑 剧情', $rawfile('C1.jpg')),
new Item('进击的巨人最终季', '日本动漫 热血 战斗 冒险', $rawfile('C2.jpg')),
new Item('神兵小将', '国产动漫', $rawfile('C3.jpg')),
new Item('甜心格格', '国产动漫 搞笑 剧情', $rawfile('C4.jpg')),
new Item('洛克王国:圣龙的守护', '奇幻 冒险 国产动漫', $rawfile('C5.jpg')),
new Item('药屋少女的呢喃', '日本动漫 悬疑 剧情', $rawfile('C1.jpg')),
new Item('进击的巨人最终季', '日本动漫 热血 战斗 冒险', $rawfile('C2.jpg')),
new Item('神兵小将', '国产动漫', $rawfile('C3.jpg')),
new Item('甜心格格', '国产动漫 搞笑 剧情', $rawfile('C4.jpg')),
new Item('洛克王国:圣龙的守护', '奇幻 冒险 国产动漫', $rawfile('C5.jpg'))
]
build() {
Column(){
Row(){
Text('视频列表')
.fontSize('30')
.margin({left: 20, top: 20, bottom: 20})
.fontColor(Color.White)
}
.width('100%')
.justifyContent(FlexAlign.Start)
.alignItems(VerticalAlign.Top)
.backgroundColor('#a61b29')
List({space: 5}){
ForEach(
this.items,
item => {
ListItem(){
Row(){
Image(item.image)
.width('100')
Column({space: 20}){
Text((++this.count).toString())
.fontColor(Color.Red)
Text(item.name)
.fontSize('20')
.fontWeight(FontWeight.Bold)
.fontColor(Color.White)
Text(item.classification)
.fontColor(Color.White)
}
.alignItems(HorizontalAlign.End)
}
.width('95%')
.justifyContent(FlexAlign.SpaceBetween)
.backgroundColor('#4f00cf')
.margin({top: 10})
.padding({left: 10,right: 30})
.borderRadius('10')
}
}
)
}
.width('100%')
.layoutWeight(1)
.alignListItem(ListItemAlign.Center)
}
.width('100%')
.height('100%')
.backgroundColor('#f1f0ed')
}
}
玄机博客
© 版权声明
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
THE END
暂无评论内容