美文网首页
2024-02-20 使用ArkTS开发待办列表

2024-02-20 使用ArkTS开发待办列表

作者: 我是小胡胡123 | 来源:发表于2024-02-19 18:08 被阅读0次

ArkTS

ArkTS是由ArkUI框架提供,使用声明式开发范式开发界面。

ArkTS通过struct声明组件名,并通过@Component和@Entry装饰器,来构成一个自定义组件。

使用@Entry和@Component装饰的自定义组件作为页面的入口,会在页面加载时首先进行渲染。

运行结果如下:

image.png

代码:

import CommonConstants from '../common/constant/CommonConstant';


@Entry
@Component
struct ToDoList {
  totalTasks: Array<string> = [
    '早起晨练',
    '准备早餐',
    '阅读名著',
    '学习ArkTs',
    '看剧放松'
  ]

  build() {
    Column() {
      Text('待办事项')
        .fontSize($r('app.float.title_font_size'))
        .width(CommonConstants.TITLE_WIDTH)
        .fontWeight(FontWeight.Bold)
        .lineHeight($r('app.float.title_font_height'))
        .margin({
          top: $r('app.float.title_margin_top'),
          bottom: $r('app.float.title_margin_bottom')
        })
        .textAlign(TextAlign.Start)
      ForEach(this.totalTasks, (item) => {
        ToDoItem({ content: item })
      })
    }
    .width(CommonConstants.FULL_LENGTH)
    .height(CommonConstants.FULL_LENGTH)
    .backgroundColor($r('app.color.page_background'))
  }
}

@Component
struct ToDoItem {
  @State isComplete: boolean = false;
  content: string = '';

  @Builder labelIcon(icon: Resource) {
    Image(icon)
      .objectFit(ImageFit.Contain)
      .width($r('app.float.checkbox_width'))
      .height($r('app.float.checkbox_width'))
      .margin($r('app.float.checkbox_margin'))
  }

  build() {
    Row() {
      if (this.isComplete) {
        this.labelIcon($r('app.media.ic_ok'));
      } else {
        this.labelIcon($r('app.media.ic_default'));
      }

      Text(this.content)
        .fontSize($r('app.float.item_font_size'))
        .fontWeight(CommonConstants.FONT_WEIGHT)
        .opacity(this.isComplete ? CommonConstants.OPACITY_COMPLETED : CommonConstants.OPACITY_DEFAULT)
        .decoration({ type: this.isComplete ? TextDecorationType.LineThrough : TextDecorationType.None })
    }
    .borderRadius(CommonConstants.BORDER_RADIUS)
    .backgroundColor($r('app.color.start_window_background'))
    .width(CommonConstants.LIST_DEFAULT_WIDTH)
    .height($r('app.float.list_item_height'))
    .onClick(() => {
      this.isComplete = !this.isComplete;
    })
  }
}

相关文章

  • Kanban3:看板实践(如期交付)

    一、填充待办事项列表 1、产品需求(待办事项)的收集 1)客户 * 通过监控学习到的客户使用模式(Usage); ...

  • 敏捷漫画#74-项目群待办事项列表

    项目群待办事项列表(The Program Backlog) 作者评论: 首先要就项目群待办事项列表(Progra...

  • 敏捷管理流程

    scrum框架流程: 客户 - 产品负责人 - 产品待办事项列表 - 敏捷教练+团队 - 冲刺待办事项列表 - 冲...

  • listfy交互太酷了

    下拉添加新的待办事项 左滑动待办事项编辑和删除 右滑移动到其他列表 手指捏合打开设置 点击列表名称来折叠列表

  • 数据结构之列表的定义

    列表是一种数据结构,在生活中也有广泛应用,例如待办事项清单、购物清单等都可以做成列表。在开发中,我们就可以把列表抽...

  • Scrum Patterns:Sprint计划会(译)

    正文 在开始Sprint计划会之前,团队已经定义并细化了产品待办事项列表,产品待办事项列表项(PBIs)仍然只代表...

  • 无标题文章

    1. 制作一份待办事宜 Todo 列表 [ ] 支持以 PDF 格式导出文稿 [ ] 改进 Cmd 渲染算法,使用...

  • 【敏捷】产品待办列表 190810

    产品待办列表,是团队需要完成的故事清单。 一、为什么用产品待办列表? 1、清楚做什么,不做什么;2、清楚先做什么,...

  • 敏捷之旅笔记

    scrum 精髓之京东敏捷之旅 总结: 以价值为核心 产品应有且只有一个产品待办列表,好的产品待办列表应该是ODD...

  • toDoList小结

    toDoList是待办事项列表,功能简单,只有事项的添加和状态的修改(进行中 and 已完成)。本程序使用node...

网友评论

      本文标题:2024-02-20 使用ArkTS开发待办列表

      本文链接:https://www.haomeiwen.com/subject/kgpvadtx.html