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

重庆网站设计平台图片分类展示网站源码

重庆网站设计平台,图片分类展示网站源码,专业制作,旅游电子商务网站建设调查问卷HarmonyOS#xff08;六#xff09;构建列表页面 List组件和Grid组件的使用 简介 在我们常用的手机应用中#xff0c;经常会见到一些数据列表#xff0c;如设置页面、通讯录、商品列表等。下图中两个页面都包含列表#xff0c;“首页”页面中包含两个网格布局#xff…HarmonyOS六构建列表页面 List组件和Grid组件的使用 简介 在我们常用的手机应用中经常会见到一些数据列表如设置页面、通讯录、商品列表等。下图中两个页面都包含列表“首页”页面中包含两个网格布局“商城”页面中包含一个商品列表。 上图中的列表中都包含一系列相同宽度的列表项连续、多行呈现同类数据例如图片和文本。常见的列表有线性列表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组件的宽高 参考链接 List组件的相关API参考List组件。Grid组件的相关API参考Grid组件。循环渲染ForEach循环渲染。 。
http://www.zqtcl.cn/news/194272/

相关文章:

  • 太原适合网站设计地址网站建设 教学视频教程
  • 建商城网站需要多少钱网站开发维护报价单
  • 唐山网站建设冀icp备婚纱网站页面设计
  • 做购物网站支付需要怎么做手机网站建设教程
  • 国外网站空间租用哪个好建站快车打电话
  • 自媒体网站 程序做药公司的网站前置审批
  • 简洁网站模板素材廊坊建设企业网站
  • 长沙建站找有为太极就治就网站内容如何自动关联新浪微博
  • 手机企业网站设计理念企业建设网站的步骤是什么?
  • 网站建设与管理视频网站推广的方法枫子
  • 苏州市住房和城乡建设局官方网站宠物之家网站开发
  • 建个人网站活字格能开发企业网站吗
  • php网站后台密码忘记做电子商务网站 语言
  • 网站建设策划师怎样进入国外网站
  • 建设银行商城网站浙江建站管理系统价格
  • 我想做个网站怎么做的常用的网络营销方法及效果
  • 南通专业做网站南宁网站建设mxfsem
  • 阿里巴巴电子商务网站建设目的网站专题素材
  • 浙江虎霸建设机械有限公司网站哪个网站做简历好
  • 网站做电商资质吗网站开发作品
  • 大型彩灯制作公司临清聊城网站优化
  • 网站建设灬金手指下拉十五网络运维工程师简历怎么写
  • 黄岛建设局网站动漫采集WordPress
  • 做网站现在挣钱吗wordpress 网址导航主题
  • 外贸网站什么采集wordpress主题更换logo
  • 唐山开发网站的公司长沙营销型网站设计
  • 数据库策略网站推广的有效方法有美辰网站建设
  • c 网站开发构想做网站的点子
  • 个人网站模板下载提供网站建设备案公司
  • 做网站需要会写代码6山东东营