#鸿蒙通关秘籍#如何在鸿蒙中自定义图片布局的列数?

HarmonyOS
6h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
星辰绘XML

在鸿蒙开发中,可以通过传入自定义列数的参数实现图片布局的自定义列数。在aboutToAppear方法中判定传入的col参数,当col大于0时,按照自定义列数计算所需的行数和每张图片的宽度。然后在build方法中使用Flex组件和ForEach循环,传入的col值会决定每行图片的数量,从而实现自定义列数的布局。

typescript aboutToAppear() { this.arraySize = this.imageSource.length; if (this.col > COLUMNS_0) { this.row = Math.ceil(this.arraySize / this.col); this.imageWidth = calc((100% - ${this.imageSpacing * (this.col - 1)}vp ) / ${this.col}); } }

build() { Flex({ wrap: FlexWrap.Wrap, justifyContent: FlexAlign.Start }) { ForEach(this.imageSource.slice(0, this.arraySize), (item: string | Resource, idx: number) => { Image(item) .attributeModifier(this.modifier) .autoResize(true) .objectFit(this.imageFit) .aspectRatio(this.imageAspectRatio) .width(this.imageWidth) .margin({ bottom: (idx + 1) > ((this.row - 1) * this.col) ? 0 : this.imageSpacing, right: (idx + 1) % this.col === 0 ? 0 : this.imageSpacing }); }); }.width(this.flexWidth); }

分享
微博
QQ
微信
回复
5h前
相关问题