• 探索arkui(2)--- 布局(列表)--- 1(列表数据的展示)


    前端开发布局是指前端开发人员宣布他们开发的新网站或应用程序正式上线的活动。在前端开发布局中,开发人员通常会展示新网站或应用程序的设计、功能和用户体验,并向公众宣传新产品的特点和优势。前端开发布局通常是前端开发领域的重要事件,吸引了广泛的关注和关注。通过前端开发布局,开发人员可以推广他们的新产品,增加用户的关注和使用,并提高自己的品牌知名度。同时,前端开发布局也为用户提供了了解和体验新产品的机会,帮助他们更好地了解和使用新的网站或应用程序。鸿蒙开发亦是如此。

     列表

    官网描述

    列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、音乐列表、购物清单等)。

    使用列表可以轻松高效地显示结构化、可滚动的信息。通过在List组件中按垂直或者水平方向线性排列子组件ListItemGroupListItem,为列表中的行或列提供单个视图,或使用ForEach迭代一组行或列,或混合任意数量的单个视图和ForEach结构,构建一个列表。List组件支持使用条件渲染、循环渲染、懒加载等渲染控制方式生成子组件。

    我的理解 

    有点类似于只有一列的表格,超出屏幕自带滚动条

    代码

    1. import util from '@ohos.util';
    2. class Contact {
    3. key: string = util.generateRandomUUID(true);
    4. name: string;
    5. icon: Resource;
    6. constructor(name: string, icon: Resource) {
    7. this.name = name;
    8. this.icon = icon;
    9. }
    10. }
    11. @Entry
    12. @Component
    13. struct ContactsList {
    14. @State selectedIndex: number = 0;
    15. @Builder itemHead(text: string) {
    16. // 列表分组的头部组件,对应联系人分组A、B等位置的组件
    17. Text(text)
    18. .fontSize(20)
    19. .backgroundColor('#fff1f3f5')
    20. .width('100%')
    21. .padding(5)
    22. }
    23. private contacts = [
    24. new Contact('小明', $r("app.media.app_icon")),
    25. new Contact('小红', $r("app.media.app_icon")),
    26. new Contact('小红', $r("app.media.app_icon")),
    27. new Contact('小红', $r("app.media.app_icon")),
    28. new Contact('小红', $r("app.media.app_icon")),
    29. new Contact('小红', $r("app.media.app_icon")),
    30. new Contact('小红', $r("app.media.app_icon")),
    31. new Contact('小红', $r("app.media.app_icon")),
    32. new Contact('小红', $r("app.media.app_icon")),
    33. new Contact('小红', $r("app.media.app_icon")),
    34. new Contact('小红', $r("app.media.app_icon")),
    35. new Contact('小红', $r("app.media.app_icon")),
    36. new Contact('小红', $r("app.media.app_icon")),
    37. new Contact('小红', $r("app.media.app_icon")),
    38. new Contact('小红', $r("app.media.app_icon")),
    39. new Contact('小红', $r("app.media.app_icon")),
    40. new Contact('小红', $r("app.media.app_icon")),
    41. new Contact('小红', $r("app.media.app_icon")),
    42. new Contact('小红', $r("app.media.app_icon")),
    43. new Contact('小红', $r("app.media.app_icon")),
    44. new Contact('小红', $r("app.media.app_icon")),
    45. new Contact('小红', $r("app.media.app_icon")),
    46. new Contact('小红', $r("app.media.app_icon")),
    47. new Contact('小红', $r("app.media.app_icon")),
    48. new Contact('小红', $r("app.media.app_icon")),
    49. new Contact('小红', $r("app.media.app_icon")),
    50. ]
    51. build() {
    52. Stack({ alignContent: Alignment.End }) {
    53. List() {
    54. // 循环渲染ListItemGroup,contactsGroups为多个分组联系人contacts和标题title的数据集合
    55. ForEach(this.contacts, (item: Contact) => {
    56. ListItem() {
    57. Row() {
    58. Image(item.icon)
    59. .width(40)
    60. .height(40)
    61. .margin(10)
    62. Text(item.name).fontSize(20)
    63. }
    64. .width('100%')
    65. .justifyContent(FlexAlign.Start)
    66. }
    67. }, item => item.key)
    68. }.onScrollIndex((firstIndex: number) => {
    69. this.selectedIndex = firstIndex
    70. }).divider({
    71. strokeWidth: 1,
    72. startMargin: 60,
    73. endMargin: 10,
    74. color: '#ffe9f0f0'
    75. }).scrollBar(BarState.Auto)
    76. .sticky(StickyStyle.Header)
    77. }
    78. }
    79. }

    效果

  • 相关阅读:
    计数排序(超详细)
    实在智能应邀出席中国移动科技工作者论坛,分享基于大模型+Agent智能体的“企业大脑”
    css 分割线中间带文字
    商品销售系统实验报告总篇论文
    【国际化Intl】Flutter 国际化多语言实践
    springboot 请求https的私有证书验证
    chatglm2微调—Lora
    深入探讨芯片制程设备:从原理到实践
    对数似然函数 | 交叉熵 | 损失函数
    Ajax的简单使用
  • 原文地址:https://blog.csdn.net/weixin_44808225/article/details/134449405