快捷搜索:  汽车  科技

华为鸿蒙平台开发语言(华为鸿蒙应用开发)

华为鸿蒙平台开发语言(华为鸿蒙应用开发)基础组件badge、dialog、div、form、list、list-item、list-item-group、panel、popup、refresh、stack、stepper、stepper-item、swiper、tabs、tab-bar、tab-content组件类型主要组件容器组件

在华为鸿蒙应用中,组件(Component)是构建页面的核心,每个组件通过对数据和方法的简单封装,实现独立的可视、可交互功能单元。组件之间相互独立,随取随用,也可以在需求相同的地方重复使用。

开发者还可以通过组件间合理的搭配定义满足业务需求的新组件,减少开发量,也就是自定义组件。

在前面的章节中我们已经接触过一些组件了,比如div,text,buttont等,这就是组件,在HML文件中通过标签定义。标签是成对出现的,比如<text>你好!</text>,<button>点击我</button>。

一 组件分类

根据组件的功能,可以分为以下六大类:

组件类型

主要组件

容器组件

badge、dialog、div、form、list、list-item、list-item-group、panel、popup、refresh、stack、stepper、stepper-item、swiper、tabs、tab-bar、tab-content

基础组件

button、chart、divider、image、image-animator、input、label、marquee、menu、option、picker、picker-view、piece、progress、qrcode、rating、richtext、search、select、slider、span、switch、text、textarea、toolbar、toolbar-item、toggle、web

媒体组件

camera、video

画布组件

canvas

栅格组件

grid-container、grid-row、grid-col

svg组件

svg、rect、circle、ellipse、path、line、polyline、polygon、text、tspan、textPath、animate、animateMotion、animateTransform

注:容器组件:用来对页面进行布局,可以包含若干个其它组件,例如我们在前面用到的<div></div>。

这章我们就来首先介绍常用的容器组件List。

二 常用容器组件List

用来显示列表的组件,包含一系列相同宽度的列表项,适合连续、多行地呈现同类数据,例如图片和文本。

List仅支持ListItem和ListItemGroup两个子组件。

ListItem:用来展示列表具体item。

ListItemGroup:用来展示分组,宽度默认充满list组件。使用该组件时父元素list组件的样式columns必须为1,否则功能异常。

下面我们就动手看看List具体是如何使用的。

1 创建List组件

启动DevEco Studio,选择欢迎界面左侧的Create Project(创建项目)菜单,选择Empty Ability(默认),选择下一步,进入配置项目界面,将项目名称命名为Components ,其它的默认即可,最后点击完成

华为鸿蒙平台开发语言(华为鸿蒙应用开发)(1)

在项目窗口,打开entry>src>js>default>pages>index>index.hml,写入下面的代码

<!-- index.hml --> <div class="container"> <list> <list-item class="listItem"></list-item> <list-item class="listItem"></list-item> <list-item class="listItem"></list-item> <list-item class="listItem"></list-item> </list> </div>

在项目窗口,打开entry>src>js>default>pages>index>index.css,写入下面的代码

/* index.css */ .container { flex-direction: column; align-items: center; background-color: #F1F3F5; } .listItem{ height: 20%; background-color:#d2e0e0; margin-top: 20px; }

打开预览器,查看效果

华为鸿蒙平台开发语言(华为鸿蒙应用开发)(2)

2 添加滚动条

设置scrollbar属性为on即可在屏幕右侧生成滚动条,实现长列表或者屏幕滚动等效果。在项目窗口,打开entry>src>js>default>pages>index>index.hml,修改其代码如下:

<!-- index.hml --> <div class="container"> <list class="listStyle" scrollbar="on" > <list-item class="listItem"></list-item> <list-item class="listItem"></list-item> <list-item class="listItem"></list-item> <list-item class="listItem"></list-item> <list-item class="listItem"></list-item> <list-item class="listItem"></list-item> </list> </div>

在项目窗口,打开entry>src>js>default>pages>index>index.css,修改其代码如下:

/* index.css */ .container { flex-direction: column; background-color: #F1F3F5; } .listItem{ height: 20%; background-color:#d2e0e0; margin-top: 20px; } .listStyle { height: 100%; scrollbar-color: #8e8b8b; scrollbar-width: 50px; }

在预览器中查看效果:

华为鸿蒙平台开发语言(华为鸿蒙应用开发)(3)

3 添加侧边索引栏

设置indexer属性为自定义索引时,索引栏会显示在列表右边界处,indexer属性设置为true 默认为字母索引表。修改index.hml的代码如下:

<!-- index.hml --> <!-- index.hml --> <div class="container"> <list class="listStyle" indexer="{{['#' '1' '2' '3' '4' '5' '6' '7' '8']}}" > <list-item class="listItem" section="#" ></list-item> <list-item class="listItem" section="1" ></list-item> <list-item class="listItem" section="2" ></list-item> <list-item class="listItem" section="3" ></list-item> <list-item class="listItem" section="4" ></list-item> <list-item class="listItem" section="5" ></list-item> <list-item class="listItem" section="6" ></list-item> <list-item class="listItem" section="7" ></list-item> <list-item class="listItem" section="8" ></list-item> </list> </div>

修改index.css的代码如下:

/* index.css */ .container { flex-direction: column; width: 100%; margin-top: 10px; } .listStyle{ height: 100%; flex-direction: column; columns: 1 } .listItem { height: 20%; background-color: aquamarine; margin-top: 20px; }

在预览中运行程序,点击右侧的索引查看效果:

华为鸿蒙平台开发语言(华为鸿蒙应用开发)(4)

说明:

indexer属性生效需要flex-direction属性配合设置为column,且columns属性设置为1。

indexer可以自定义索引表,自定义时"#"必须要存在。

4 分组列表

修改index.hml的代码如下:

<!-- index.hml --> <div class="container"> <text class="title">分组列表</text> <list class="listGroup"> <list-item-group> <list-item><text class="group">分组列表</text></list-item> <list-item><text class="groupValue">文本内容</text></list-item> <list-item><text class="groupValue">文本内容</text></list-item> <list-item><text class="groupValue">文本内容</text></list-item> </list-item-group> </list> </div>

修改index.css的代码如下:

/* index.css */ .container { flex-direction: column; width: 100%; margin-top: 10px; } .title { height: 50px; font-size: 16px; color: grey; margin-top: 40px; margin-left: 30px; } .listGroup { height: 400px; } .Group { width: 96%; height: 60px; padding-left: 3%; margin-left: 6%; border-bottom: 1px solid #DEDEDE; font-size: 20px; font-weight:500; } .groupValue{ font-size: 16px; width: 95%; height: 60px; margin-left: 15%; border-bottom: 1px solid #DEDEDE; }

在预览器中查看效果,点击列表项可以将其展开和折叠。

华为鸿蒙平台开发语言(华为鸿蒙应用开发)(5)

最后,提醒大家:写程序最重要的是动手,敲代码越多越熟练,最后会成为高高手!

猜您喜欢: