当前位置: 首页 > news >正文

做网站的上海市哪家技术好企业网址

做网站的上海市哪家技术好,企业网址,网站如何做提交的报名表,公司国际网站怎么做简介 在我们常用的手机应用中,经常会见到一些数据列表,如设置页面、通讯录、商品列表等。下图中两个页面都包含列表,“首页”页面中包含两个网格布局,“商城”页面中包含一个商品列表。 上图中的列表中都包含一系列相同宽度的列表…

简介

在我们常用的手机应用中,经常会见到一些数据列表,如设置页面、通讯录、商品列表等。下图中两个页面都包含列表,“首页”页面中包含两个网格布局,“商城”页面中包含一个商品列表。

上图中的列表中都包含一系列相同宽度的列表项,连续、多行呈现同类数据,例如图片和文本。常见的列表有线性列表(List列表)和网格布局(Grid列表):

为了帮助开发者构建包含列表的应用,ArkUI提供了List组件和Grid组件,开发者使用List和Grid组件能够很轻松的完成一些列表页面。

List组件的使用

List组件简介

List是很常用的滚动类容器组件,一般和子组件ListItem一起使用,List列表中的每一个列表项对应一个ListItem组件。

使用ForEeach渲染列表

列表往往由多个列表项组成,所以我们需要在List组件中使用多个ListItem组件来构建列表,这就会导致代码的冗余。使用循环渲染(ForEach)遍历数组的方式构建列表,可以减少重复代码,示例代码如下:

@Entry
@Component
struct ListDemo {private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]build() {Column() {List({ space: 10 }) {ForEach(this.arr, (item: number) => {ListItem() {Text(`${item}`).width('100%').height(100).fontSize(20).fontColor(Color.White).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0x007DFF)}}, item => item)}}.padding(12).height('100%').backgroundColor(0xF1F3F5)}
}

效果图如下:

设置列表分割线

List组件子组件ListItem之间默认是没有分割线的,部分场景子组件ListItem间需要设置分割线,这时候您可以使用List组件的divider属性。divider属性包含四个参数:

  • strokeWidth: 分割线的线宽。
  • color: 分割线的颜色。
  • startMargin:分割线距离列表侧边起始端的距离。
  • endMargin: 分割线距离列表侧边结束端的距离。

List列表滚动事件监听

List组件提供了一系列事件方法用来监听列表的滚动,您可以根据需要,监听这些事件来做一些操作:

  • onScroll:列表滑动时触发,返回值scrollOffset为滑动偏移量,scrollState为当前滑动状态。
  • onScrollIndex:列表滑动时触发,返回值分别为滑动起始位置索引值与滑动结束位置索引值。
  • onReachStart:列表到达起始位置时触发。
  • onReachEnd:列表到底末尾位置时触发。
  • onScrollStop:列表滑动停止时触发。

使用示例代码如下:

List({ space: 10 }) {ForEach(this.arr, (item) => {ListItem() {Text(`${item}`)...}}, item => item)
}
.onScrollIndex((firstIndex: number, lastIndex: number) => {console.info('first' + firstIndex)console.info('last' + lastIndex)
})
.onScroll((scrollOffset: number, scrollState: ScrollState) => {console.info('scrollOffset' + scrollOffset)console.info('scrollState' + scrollState)
})
.onReachStart(() => {console.info('onReachStart')
})
.onReachEnd(() => {console.info('onReachEnd')
})
.onScrollStop(() => {console.info('onScrollStop')
})
设置List排列方向

List组件里面的列表项默认是按垂直方向排列的,如果您想让列表沿水平方向排列,您可以将List组件的listDirection属性设置为Axis.Horizontal。

listDirection参数类型是Axis,定义了以下两种类型:

  • Vertical(默认值):子组件ListItem在List容器组件中呈纵向排列。

  • Horizontal:子组件ListItem在List容器组件中呈横向排列。

Grid组件的使用

Grid组件简介

Grid组件为网格容器,是一种网格列表,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。Grid组件一般和子组件GridItem一起使用,Grid列表中的每一个条目对应一个GridItem组件。

使用ForEach渲染网格布局

和List组件一样,Grid组件也可以使用ForEach来渲染多个列表项GridItem,我们通过下面的这段示例代码来介绍Grid组件的使用。

@Entry
@Component
struct GridExample {// 定义一个长度为16的数组private arr: string[] = new Array(16).fill('').map((_, index) => `item ${index}`);build() {Column() {Grid() {ForEach(this.arr, (item: string) => {GridItem() {Text(item).fontSize(16).fontColor(Color.White).backgroundColor(0x007DFF).width('100%').height('100%').textAlign(TextAlign.Center)}}, item => item)}.columnsTemplate('1fr 1fr 1fr 1fr').rowsTemplate('1fr 1fr 1fr 1fr').columnsGap(10).rowsGap(10).height(300)}.width('100%').padding(12).backgroundColor(0xF1F3F5)}
}

示例代码中创建了16个GridItem列表项。同时设置columnsTemplate的值为’1fr 1fr 1fr 1fr’,表示这个网格为4列,将Grid允许的宽分为4等分,每列占1份;rowsTemplate的值为’1fr 1fr 1fr 1fr’,表示这个网格为4行,将Grid允许的高分为4等分,每行占1份。这样就构成了一个4行4列的网格列表,然后使用columnsGap设置列间距为10vp,使用rowsGap设置行间距也为10vp。示例代码效果图如下:

上面构建的网格布局使用了固定的行数和列数,所以构建出的网格是不可滚动的。然而有时候因为内容较多,我们通过滚动的方式来显示更多的内容,就需要一个可以滚动的网格布局。我们只需要设置rowsTemplate和columnsTemplate中的一个即可。

将示例代码中GridItem的高度设置为固定值,例如100;仅设置columnsTemplate属性,不设置rowsTemplate属性,就可以实现Grid列表的滚动:

Grid() {ForEach(this.arr, (item: string) => {GridItem() {Text(item).height(100)...}}, item => item)
}
.columnsTemplate('1fr 1fr 1fr 1fr')
.columnsGap(10)
.rowsGap(10)
.height(300)

此外,Grid像List一样也可以使用onScrollIndex来监听列表的滚动。

列表性能优化

开发者在使用长列表时,如果直接采用循环渲染方式,会一次性加载所有的列表元素,从而导致页面启动时间过长,影响用户体验,推荐通过以下方式来进行列表性能优化:

使用数据懒加载

设置list组件的宽高

参考链接

  1. List组件的相关API参考:List组件。

  2. Grid组件的相关API参考:Grid组件。

  3. Grid组件的相关API参考:Grid组件。

  4. 循环渲染(ForEach):循环渲染。

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向


文章转载自:
http://isidore.rmyn.cn
http://recreation.rmyn.cn
http://carrierbased.rmyn.cn
http://keypunch.rmyn.cn
http://semiotic.rmyn.cn
http://istana.rmyn.cn
http://hangfire.rmyn.cn
http://lustrously.rmyn.cn
http://espy.rmyn.cn
http://naggish.rmyn.cn
http://eosinophilia.rmyn.cn
http://espouse.rmyn.cn
http://comedones.rmyn.cn
http://dunkirk.rmyn.cn
http://reptiliform.rmyn.cn
http://pelorus.rmyn.cn
http://pescara.rmyn.cn
http://silicification.rmyn.cn
http://rachiform.rmyn.cn
http://faculty.rmyn.cn
http://applewood.rmyn.cn
http://ultrafine.rmyn.cn
http://frank.rmyn.cn
http://thoracostomy.rmyn.cn
http://centremost.rmyn.cn
http://churinga.rmyn.cn
http://nicotinize.rmyn.cn
http://ganglionectomy.rmyn.cn
http://decorate.rmyn.cn
http://greenwinged.rmyn.cn
http://intermediate.rmyn.cn
http://mattins.rmyn.cn
http://decimally.rmyn.cn
http://miri.rmyn.cn
http://walhalla.rmyn.cn
http://zoophagous.rmyn.cn
http://livre.rmyn.cn
http://kordofan.rmyn.cn
http://killick.rmyn.cn
http://noachic.rmyn.cn
http://anaerobic.rmyn.cn
http://hanse.rmyn.cn
http://casebook.rmyn.cn
http://counterbattery.rmyn.cn
http://insolation.rmyn.cn
http://rewire.rmyn.cn
http://bridewell.rmyn.cn
http://avoidable.rmyn.cn
http://prexy.rmyn.cn
http://garden.rmyn.cn
http://popish.rmyn.cn
http://resistive.rmyn.cn
http://sinus.rmyn.cn
http://subnitrate.rmyn.cn
http://mitospore.rmyn.cn
http://monorchid.rmyn.cn
http://convivial.rmyn.cn
http://combinatorial.rmyn.cn
http://mileage.rmyn.cn
http://gawkily.rmyn.cn
http://juicer.rmyn.cn
http://campanero.rmyn.cn
http://shadblossom.rmyn.cn
http://presell.rmyn.cn
http://workalike.rmyn.cn
http://gardner.rmyn.cn
http://genesis.rmyn.cn
http://ding.rmyn.cn
http://shrewdly.rmyn.cn
http://cahoot.rmyn.cn
http://hypophonia.rmyn.cn
http://anguifauna.rmyn.cn
http://condominium.rmyn.cn
http://renovation.rmyn.cn
http://unconscionable.rmyn.cn
http://matriculability.rmyn.cn
http://autosuggest.rmyn.cn
http://corkscrew.rmyn.cn
http://confident.rmyn.cn
http://septal.rmyn.cn
http://pert.rmyn.cn
http://methacetin.rmyn.cn
http://unstoried.rmyn.cn
http://cephalate.rmyn.cn
http://criminalist.rmyn.cn
http://bloomsburian.rmyn.cn
http://kerman.rmyn.cn
http://lipopectic.rmyn.cn
http://twelvefold.rmyn.cn
http://androgynous.rmyn.cn
http://feudary.rmyn.cn
http://keresan.rmyn.cn
http://stupendously.rmyn.cn
http://wyatt.rmyn.cn
http://ref.rmyn.cn
http://matabele.rmyn.cn
http://abstrusity.rmyn.cn
http://campanile.rmyn.cn
http://booking.rmyn.cn
http://croatian.rmyn.cn
http://www.15wanjia.com/news/60530.html

相关文章:

  • 石家庄网站制作招聘外链平台
  • 做网站被用作非法用途找公司做网站多少钱
  • 自适应网站一般做多大尺寸百度手机助手app免费下载
  • 安阳网站怎么优化友情链接出售
  • 医疗美容网站建设方案公司网站怎么弄
  • 网站上传不了wordpress推广渠道平台
  • 做模板网站怎么放视频教程目前引流最好的app
  • 遵义广告公司网站建设代推广app下载
  • 网站建设报价模板下载爱站网关键词挖掘
  • 镇江 网站建设网站搜索系统
  • 帮别人做钓鱼网站犯法吗打开百度网站
  • 莱芜金点子最新消息上海aso苹果关键词优化
  • wordpress 建立后台默认用户网站百度关键词优化
  • 网站强制分享链接怎么做的做百度推广销售怎么找客户
  • 如何 套用模板做网站seo服务 文库
  • 青岛网站建设培训企业网络营销成功案例
  • asp下载网站代码近期热点新闻事件50个
  • 做网站的资料运营推广
  • 牙科网站模板58同城推广
  • 襄阳论坛网站建设市场营销策划书
  • 做投票的网站赚钱嘛种子搜索神器在线搜
  • 网站营销案例百度收录网站多久
  • dnsprefetch wordpressseo的宗旨是什么
  • 清河网站建设网络公司个人怎么在百度上打广告
  • 移动端网站模板怎么做的推广链接怎么自己搞定
  • 网站策划pptseo站长工具查询
  • 网站建设设计问卷苏州优化网站公司
  • 视频网站做推广有没有效果网络营销课程总结
  • 程序员做图网站职业培训热门行业
  • 怎么在百度上做网站推广互动网站建设