ui界面 鸿蒙os_qt在主ui界面调用另一个ui界面的控件 - CSDN
精华内容
参与话题
  • 现在手机已经很普及了,手机系统主要有两大系统,一个是Android系统,一个是ios系统,但是华为让所有人看到了第三个系统,那就是鸿蒙系统。前不久谷歌宣布不与华为中断合作,那么华为接下来再想推出新手机,就不能...

    现在手机已经很普及了,手机系统主要有两大系统,一个是Android系统,一个是ios系统,但是华为让所有人看到了第三个系统,那就是鸿蒙系统。前不久谷歌宣布不与华为中断合作,那么华为接下来再想推出新手机,就不能使用Android系统了,本来谷歌以为这个办法会让华为认输,结果华为却亮出了鸿蒙系统,让谷歌的计划失败。

    现在网上有很多关于鸿蒙系统的新闻,很多网友对这个系统虽然不是很了解,但是都对它充满了好奇,希望能够早点使用到新系统。根据华为的最新消息显示,鸿蒙系统很有可能在今年的9月份与大家见面。不过在此前,鸿蒙系统的界面已经被曝光了,我们一起来看看这个系统吧。

    对于Android系统,想必大家已经使用的非常得心应手了,Android系统操作起来非常的简单,而且界面也很整齐。鸿蒙系统的界面更简单,从表面上看,与华为的EMUI系统相似,状态栏,配色,以及功能都与它极其相似。之前已经有不少华为的小伙伴体验过EMUI系统,初次使用鸿蒙系统的话,大家上手应该会快一些。

    鸿蒙系统虽然已经有了雏形,可是真正的投放到市场上,还需要很多测试,另外还需要为鸿蒙系统打造一个良好的市场。现在很多人已经习惯了Android系统,如果贸然将鸿蒙系统投放到市场,那么大家也可能因为操作不习惯而排斥华为,并且最坏的结果就是华为整个品牌口碑受影响。

     

    另外就算大家支持华为,接受了鸿蒙系统,但华为将鸿蒙系统投放市场的话,就意味着与谷歌彻底断绝合作了。谷歌现在与华为终止合作,是客观因素造成的,后期很可能有转机,因而华为亮出鸿蒙系统只是为了展示自己的势力,告诉谷歌没有你,照样可以继续生产。另一方面华为也希望谷歌能回心转意,给谷歌留机会。

    网友们看到鸿蒙系统之后,不禁感慨华为的强大,中国能有如此强大的科技公司,真是我们的骄傲。美方再想欺负华为,就需要掂量下华为的科技力量了。不少网友还推测,如果鸿蒙系统使用的话,市场上是不是会形成Android,ios系统,鸿蒙系统的三分鼎立的局面呢?不管怎么说,华为有鸿蒙系统,就不用担心谷歌的垄断了。

    品略图书馆 http://www.pinlue.com/

     

    展开全文
  • 获奖公布 | 一文说尽鸿蒙事,万篇传承中国魂

    万次阅读 多人点赞 2020-10-16 16:07:24
    北京时间 9 月 10 日,在 2020 华为开发者大会上,华为消费者业务CEO,华为技术有限公司高级副总裁余承东正式宣布鸿蒙 OS 2.0 发布,并且开源。 鸿蒙 OS 2.0 开源地址:https://codechina.csdn.net/openharmony ...

    北京时间 9 月 10 日在 2020 华为开发者大会上,华为消费者业务CEO,华为技术有限公司高级副总裁余承东正式宣布鸿蒙 OS 2.0 发布,并且开源。

    鸿蒙 OS 2.0 开源地址:https://codechina.csdn.net/openharmonyStar鸿蒙代码赢好礼正在火热进行中

    告别 PPT 的鸿蒙 OS 2.0 系统赢得开发者们的一片叫好,那么,@程序员,鸿蒙 OS 源码里面到底藏着怎样的秘密呢?你是否想一探究竟呢?为此,我们特面向所有开发者发出征文邀请,分享你与鸿蒙代码之间的恩怨情愁。

    如果你无从下笔,不妨看看这两位用户撰写的鸿蒙文章:

    如果你看完还是一脸模糊,那么不妨从这几个方面着手:

    • 我的第一个鸿蒙 Hello World程序;
    • 鸿蒙 OS 源码解读,鸿蒙一共开放了 134 个代码仓库,你可以挑选其一对其进行技术解读,比如采用了哪种编程语言,每种技术在该项目中的占比,鸿蒙源码中有哪些精彩的代码片段……
    • 鸿蒙 OS 2.0 的这 3 大亮点一直被开发者们所津津乐道,分别是分布式软总线、分布式数据管理、分布式安全,你可以挑选其中的任意一点发布你的看法与未来设想
    • 鸿蒙 OS 2.0 全场景应用实战
    • 鸿蒙 OS 2.0 能给开发者带来些什么
    • 鸿蒙 OS 2.0 学习教程
    • ……

    特殊说明:

    • 账号类型【个人】
    • 参与内容为投稿者原创、内容积极向上,能给予人启发最佳
    • 字数不得低于500字
    • 所参与的文章必须与主题一致,洗稿、有营销抄袭嫌疑的文章一经发现,将取消参赛资格
    • 优质作品,将发布在CSDN首页,CSDN公众号,“程序人生”、微博等渠道进行推广,相信会给您带来良好的引流和曝光

    征文时间

    • 开始日期:2020年9月14日
    • 截止时间:2020年10月14日
    • 结果公布:2020年10月16日

    奖品设置

    • 最佳原创 10 名

    该奖项由官方评出,奖品是 CSDN 定制版 T恤、CSDN 百万图书电子体验卡一张、计算机图书一本。

    • 最受欢迎奖 10 名

    该奖项会基于文章的UV+点赞+评论+收藏等数据计算出来,总分计算公司=UV/2+点赞+收藏*2+评论

    奖品是 CSDN 定制版大鼠标垫+CSDN 百万图书电子体验卡一张、计算机图书一本。

     

    如何参与

    方式一:

    撰写与活动主题相关的技术原创博文,并将文章标题和链接回复至本文评论处。

    方式二:

    点击该链接进入博文编辑器,这样撰写的文章会自动参加活动。

    运营人员每天会从评论处挑选优质内容进行推广宣传,为达到最佳宣发效果,可以在参与文章的文末附上:我正在参加 CSDN 的【鸿蒙技术征文】活动,请给我点赞支持。

    获奖名单

    最佳原创(排名不分先后)

    博文标题 博文链接
    鸿蒙内核源码分析专栏 https://blog.csdn.net/kuangyufei
    鸿蒙 OS:使用 JavaScript 开发 Todo App UI 界面 https://blog.csdn.net/fengqiuzhihua/article/details/108686938
    全网最全的鸿蒙源码结构分析 https://blog.csdn.net/lzw2497727771/article/details/108721398
    关于鸿蒙OS的一些看法 https://blog.csdn.net/Innost/article/details/108570919
    华为鸿蒙系统初探之HUAWEI DevEco Studio Hello World https://blog.csdn.net/Kangyucheng/article/details/108632705
    DevEco Studio 2.0开发鸿蒙HarmonyOS应用初体验全面测评 https://blog.csdn.net/lzw2497727771/article/details/108561703
    华为鸿蒙OS尖刀武器之分布式软总线技术 https://blog.csdn.net/guoguo527/article/details/109014004
    快速入门HarmonyOS的Java UI框架 https://blog.csdn.net/qq_38710045/article/details/108647777
    鸿蒙初体验:从安装到第一个程序 Hello HarmonyOS https://blog.csdn.net/qq_42783654/article/details/108668642
    鸿蒙开发——记第一次开发鸿蒙系统应用 https://blog.csdn.net/T262702247/article/details/108550941

    最受欢迎奖(排名不分先后)

    博文标题 链接
    品读鸿蒙 OS HDF架构 https://blog.csdn.net/codefly/article/details/108901712
    上手鸿蒙软件开发配置教程,如何跑第一个helloworld https://blog.csdn.net/qq_43513350/article/details/108566038
    谁告诉你鸿蒙(HarmonyOS)不能在macOS下玩,一副没见过世面的样子! https://unitymarvel.blog.csdn.net/article/details/108958072
    抢先学鸿蒙(HarmonyOS)2.0,你就是下一个大咖! https://blog.csdn.net/nokiaguy/article/details/108627356
    用Android的Activity生命周期解释HarmonyOS的Page Ability生命周期 https://blog.csdn.net/dongfeng9ge/article/details/109088372
    如何上手鸿蒙系统应用开发 https://blog.csdn.net/weixin_43927238/article/details/108677039
    HarmonyOS面向128KB-128MB终端开源 https://blog.csdn.net/xiaxl/article/details/108606139
    【干货】10分钟掌握鸿蒙OS应用程序开发的核心内容 https://blog.csdn.net/dongyu1009/article/details/108697116
    鸿蒙HarmonyOS 小白体验之路 https://blog.csdn.net/u010090644/article/details/108997294
    HarmonyOS(三)应用开发之创建第一个HelloWorld应用 https://blog.csdn.net/yangxiao_hui/article/details/108990388
    鸿蒙学习 - 开发一个内置应用 https://blog.csdn.net/xgw1010/article/details/108987403

    恭喜以上获奖的小伙伴,请大家把:获奖博文标题+链接、获得的奖项、奖品、收件地址信息发送至邮箱zhanghy#csdn.net(#换成@),信息收集截止时间为10月23日,奖品邮寄时间:10月26日-29日!


    针对本次征文,你有任何疑问,欢迎扫描下方二维码进入CSDN 专属用户服务群。

    鸿蒙 OS 博文精选(排名不分先后,工作日定时更新)

    1、鸿蒙内核源码分析专栏>>https://blog.csdn.net/kuangyufei

    2、全网最全的鸿蒙源码结构分析>>https://blog.csdn.net/lzw2497727771/article/details/108721398

    3、鸿蒙 OS:使用 JavaScript 开发 Todo App UI 界面>>https://blog.csdn.net/fengqiuzhihua/article/details/108686938

    4、快速入门HarmonyOS的Java UI框架>>https://blog.csdn.net/qq_38710045/article/details/108647777

    5、鸿蒙初体验:从安装到第一个程序 Hello HarmonyOS>>https://blog.csdn.net/qq_42783654/article/details/108668642

    6、我的第一个鸿蒙 Hello World>>https://blog.csdn.net/Kangyucheng/article/details/108632705

    7、关于鸿蒙OS的一些看法>>https://blog.csdn.net/Innost/article/details/108570919

    8、10分钟掌握鸿蒙OS应用程序开发的核心内容>>https://blog.csdn.net/dongyu1009/article/details/108697116

    9、全网最全鸿蒙OS系统初体验之hello word体验教程>>https://blog.csdn.net/weixin_43927238/article/details/108677039

    10、HarmonyOS面向128KB-128MB终端开源>> https://blog.csdn.net/xiaxl/article/details/108606139

    11、上手鸿蒙软件开发配置教程,如何跑第一个helloworld>> https://blog.csdn.net/qq_42783654/article/details/108668642

    12、记第一次开发鸿蒙系统应用>> https://blog.csdn.net/T262702247/article/details/108550941

    13、HarmonyIDE(DevEco Studio) 下载安装 & 第一个 HarmonyOS 程序>> https://blog.csdn.net/qq_29339467/article/details/108715538

    14、DevEco Studio项目构建讲解、编写页面、布局介绍、页面跳转>>https://blog.csdn.net/qq_38436214/article/details/108711527

    15、DevEco Studio 2.0开发鸿蒙HarmonyOS应用初体验全面测评(附视频)>>https://blog.csdn.net/lzw2497727771/article/details/108561703

    16、鸿蒙OS开源代码精要解读之——init>>https://blog.csdn.net/Innost/article/details/108789529

    17、鸿蒙 Ability 讲解(页面生命周期、后台服务、数据访问)>>https://blog.csdn.net/qq_38436214/article/details/108792248

    18、鸿蒙初体验(三):使用JS FA应用写一个简单的猜数字游戏>>https://blog.csdn.net/qq_42783654/article/details/108753757

    19、DevEco Studio项目构建讲解、编写页面、布局介绍、页面跳转>>https://blog.csdn.net/qq_38436214/article/details/108711527

    20、手把手:鸿蒙OS:Hello World!>>https://blog.csdn.net/ICXBK/article/details/108639181

    展开全文
  • 鸿蒙 OS:使用 JavaScript 开发 Todo App UI 界面

    万次阅读 多人点赞 2020-10-11 17:07:23
    距离鸿蒙 OS 2.0 发布已经过去一些日子了,看到鸿蒙系统强大的设备共享能力,我觉得未来它一定能够成为主流的操作系统。在利用了分布式系统的优势之后,多个设备间可以共享应用程序界面和数据,并且对于开发者,也...

    距离鸿蒙 OS 2.0 发布已经过去一些日子了,看到鸿蒙系统强大的设备共享能力,我觉得未来它一定能够成为主流的操作系统。在利用了分布式系统的优势之后,多个设备间可以共享应用程序界面和数据,并且对于开发者,也可以使用一套代码编写应用,就可以在多种设备终端上运行。

    一开始我并没有太关注鸿蒙系统,以为它只能使用 Java 开发应用,跟前端好像没啥关系,但是看了开发文档后,发现 UI 部分既支持纯 JavaScript 开发,也支持纯 Java 开发,还可以 Java 跟 JavaScript 混合开发。鸿蒙应用的开发跟 Android 的开发很像,只是把概念重新定义了一下。它分为 FA(Feature Ability)和 PA(Particle Ability)两种应用模式,FA 是带有用户界面的,PA 则是运行在后台的服务程序,可以想象成安卓里的 Activity 和 Service,不过也略有不同。FA 支持使用 Java 和 JavaScript 两种方式开发 UI 界面。如果使用 Java,则跟 Android 一样,使用 xml 定义布局或者 Java 代码定义布局,每个页面都是一个 PageAbility,使用 Java 编写业务代码,不同的页面之间传递数据依然使用 intent。而这里如果使用 JavaScript UI 框架的话,那么写法跟 Vue 应用基本一模一样,同样支持 data、props、computed、watch 和 functions(methods),也能创建自定义的组件,这样 web 前端工程师就很容易转型成为鸿蒙 UI 开发工程师,不得不说华为在已有概念上做的整合,还是相当厉害的。

    项目介绍

    在了解了鸿蒙可以使用 JavaScript 开发之后,那么这里我就给大家展示一下前端惯例项目,Todo App 的开发过程。这篇文章将只先介绍 UI 的开发过程,因为这部分所遇到的坑就能产生足够多的篇幅了。这个作品是一个 TV 版的应用,因为鸿蒙暂时不支持移动 App 的开发,它的最终效果如下图所示(模拟器分辨率较低,图的质量不太好):

    最终效果

    项目 Github 地址:https://github.com/zxuqian/harmonyos-examples

    这个项目简单的展示了一个 Todo 列表,整体容器背景为淡紫色,todo 列表中有应用的标题,添加 todo 的输入框和按钮,过滤选项,以及 todo 列表。因为鸿蒙貌似不支持改变 checkbox 的背景颜色,未选中状态是白色,跟 todo 列表容器的背景是一样的,所以看不到,选中之后则可以看到是默认的蓝色。因为这个设计稿原本是给手机界面设计的,而鸿蒙 TV 只支持横向滚动条,所以这个界面看起来会有点奇怪,不过不影响我们学习项目开发方法。

    配置开发环境

    分析完界面之后,我们来正式进入开发阶段。首先需要下载鸿蒙的 IDE 开发环境,它叫 DevEco Studio,可以从以下链接下载,下载时需要注册华为账号:

    DevEco Studio:https://developer.harmonyos.com/cn/develop/deveco-studio

    由于使用 JavaScript 开发项目,所以本地还需要安装 Node.js 的运行环境,可以从下边链接下载:

    Node.js:https://nodejs.org/en/

    有了这些工具,开发环境就配置好了。接下来,我们创建一个基于 JavaScript 的 TV 项目。

    创建项目

    打开 DevEco,在欢迎界面中选择 Create HarmonyOS Project,然后在 Choose your ability template 界面中,Device 下选择 TV,Template 选择 Empty Feature Ability(JS) 创建一个空的 JS 项目。

    创建项目

    点击 Next,在 Configure your project 界面输入项目信息。在 Project Name 中输入 TodoApp,Package name 我这里使用了 com.zxuqian.todoapp,在 save location 中选择项目的保存路径,Compatible SDK 保持默认就好,填写完成之后点击 Finish 完成项目的创建。

    配置项目信息

    我们先来大体看一下项目的目录结构,这里列出来了关键的目录说明:

    TodoApp
      entry ----------------------- 项目入口,除 entry 外,还可以创建多个 Feature Ability,但只有 entry 是独立的
         src ---------------------- 源代码
           main
             java ----------------- Java 源代码
             js   ----------------- JS 源代码
               default
                 common ----------- 公共组件
                 i18n   ----------- 国际化
                 pages  ----------- 页面
                   index ---------- 首页文件夹
                     index.css ---- 首页 css 样式
                     index.hml ---- 首页 hml 结构
                     index.js ----- 首页 js 数据绑定代码
                 app.js ----------- JS 项目入口
             resources ------------ 静态资源文件,图片、视频等
             config.json ---------- 鸿蒙项目配置
           test ------------------- 测试代码
      gradle** -------------------- Java 依赖管理工具配置
    

    运行项目

    然后可以运行项目看一下效果。因为项目需要运行在模拟器中,所以得在 DevEco Studio 中创建一个 TV 模拟器,这里需要注意的是,鸿蒙的模拟器是远程桌面的方式进行访问,所以需要先认证华为开发者账号。要创建模拟器,在 Tools 菜单中选择 HVD Manager:

    选择模拟器

    然后会打开浏览器,显示华为开发者登录页面,用华为账号登录进去之后,选择个人或公司认证,填写银行卡后认证成功。认证完成之后要**关闭浏览器,**因为浏览器在打开状态下,无法在 DevEco 中登录,这应该是个 Bug。再次选择 Tools -> HVD Manager,在弹出的浏览器页面中登录并授权后,就可以看到模拟器了:

    选择模拟器
    选择 TV,然后点击 Actions 下的三角形就可以启动成功了。默认浏览器是内嵌在 DevEco Studio 中的,可以点击右上角的齿轮图标,在弹出菜单中选择 View Mode -> Window 来让它以窗口形式显示。

    设置模拟器显示形式

    另外,因为是远程的模拟器,所以画质不好,并且每次只能使用 1 小时,超时后需要重新启动:

    成功运行模拟器

    模拟器启动成功后,就可以启动项目了。点击工具栏中的三角形按钮,确保下拉选择框选择了 entry:

    启动项目

    稍后就能在模拟器看到示例的 “你好,世界” 字样了。

    编写 HML 部分

    现在开始 Todo App 的开发,先编写页面结构。这里注意不是 HTML,而是 HML,并且文件名也是 hml 结尾。因为鸿蒙的运行环境并不是浏览器,所以不支持原生的 html 标签,虽然有些标签名字一样,但那些只是鸿蒙为了便利开发者而定的,底层实现完全不一样,它们会转换成原生的鸿蒙控件,当然它也有特殊的 hml 标签,方便进行布局。语法上,除了一些 html 属性不支持外,其他都一样。这一点,跟 React Native 的原理是一样的。鸿蒙支持的标签可以查看 API 文档:

    HML 组件 API 文档

    另外鸿蒙开发过程中,不支持保存页面实时刷新,需要手动重启项目,这个确实有点棘手,就希望以后会完善吧。另外编写代码后不用保存,这个倒是有点不习惯。

    要编写 Todo App 结构,打开 js/default/pages/index/index.hml 文件,删掉里边的示例代码,首先最外层容器,即背景容器,使用 div 表示,class 名字为 main:

    <div class="main"></div>
    

    接下来是 Todo App 应用的容器,使用 class 名字为 container 的 div 表示:

    <div class="main">
      <div class="container"></div>
    </div>
    

    在 container 里边,使用 text 标签显示标题,hml 中所有的文字都使用 text 标签表示:

    <text class="h1">欢迎使用 Feng 待办事项!</text>
    

    接下来是添加 todo 项目的输入框和按钮,这部分跟 html 一样:

    <div class="input-add">
      <input type="text" />
      <button>+</button>
    </div>
    

    再下面是过滤选项,除了文字使用 text 表示之外,也跟 html 一样:

    <div class="filters">
      <text class="filter"> 全部 </text>
      <text class="filter"> 已完成 </text>
      <text class="filter"> 未完成 </text>
    </div>
    

    最后是 todo 列表,这里写死了两个待办事项,后面我们会把它的数据重构到 js 文件中。这里选择使用了 div 来显示 todo 列表,也可以使用 list 和 list-item,不过我个人觉得 list 适合整个页面是个列表页的情况,或者列表数据特别多的情况,你也可以自己尝试一下,不过记得使用 background-color 和 box-shadow 去掉 list 的背景和阴影。Todo 列表的 hml 结构代码如下:

    <div class="todo-list">
      <div class="todo-item">
        <input type="checkbox" />
        <text>待办1</text>
      </div>
      <div class="todo-item">
        <input type="checkbox" />
        <text>待办2</text>
      </div>
    </div>
    

    hml 结构到这里就写完了,接下来编写 CSS 样式。

    编写 CSS 部分

    鸿蒙中的 CSS 与普通的 CSS 还是有一些区别的,有些属性用法不同,并且不同的标签对于 CSS 属性的支持程度也不一样,可以参考 HML 部分中提到的 API 文档。在鸿蒙 TV 项目中,容器默认是 flex 布局,并且 flex-direction 为 row,行方向,这个需要注意一下。

    打开 index.css,我们先给 text 标签设置默认的文本颜色,因为我们的应用是浅色,而鸿蒙的主题为深色,所以文本为白色,这样就看不到了,而且我也没找到如何修改默认主题,这个你可以研究一下~。text 标签的 css 代码如下:

    text {
      color: #414873;
    }
    

    接下来设置最外层容器的样式,这里的 css 与普通的没什么区别:

    • 把 Todo App 容器居中
    • 背景色设置为淡紫色
    .main {
      justify-content: center;
      background-color: rgb(203, 210, 240);
    }
    

    再设置 Todo App 容器的样式

    • 设置宽度、内间距、阴影、圆角边框。这里要注意,圆角边框的值不能是百分比。
    • 设置背景色只能使用 background-color,不能使用 background 简写形式,background 只能用来设置 linear-gradient 渐变色,如果设置背景图,则需要使用 background-image。
    • 最后把 flex 的方向改成列方向,竖向排列。
    .container {
      width: 60%;
      padding: 48px 28px;
      box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.15);
      border-radius: 24px;
      background-color: rgb(245, 246, 252);
      flex-direction: column;
    }
    

    容器的第一行,是标题,我们设置一下它的外边距、文字大小,我们这里把 flex-shrink 设置为 0,因为 TV 版不支持竖向滚动条,放的内容多了之后就会互相挤占空间(解决方法是在设计界面的时候该改成横向式布局,甩锅设计师~),这里就用禁止缩放来做为临时解决方法,这个不是重点:

    .h1 {
      margin: 24px 0;
      font-size: 28px;
      flex-shrink: 0;
    }
    

    标题下方是添加 todo 项目的输入框和按钮,首先给它们的容器设置相对定位,垂直居中对齐子元素:

    .input-add {
      position: relative;
      align-items: center;
      flex-shrink: 0;
    }
    

    对于输入框,设置一下它的大小,内间距,文字大小等,这里把它 z-index 设置为 5,因为后边的添加按钮要覆盖在它的上边:

    .input-add input {
      padding: 24px 52px 24px 18px;
      border-radius: 48px;
      box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.08);
      width: 100%;
      font-size: 24px;
      align-items: center;
      justify-content: center;
      color: #626262;
      z-index: 5;
    }
    

    按钮的样式:

    • 设置为圆形
    • 使用 background 设置渐变的背景色
    • 设置+号文本为白色,文字大小为 18px
    • 向左移动 36px,紧贴输入框的右边框
    • 设置 z-index 为 10,来覆盖在输入框上边。
    .input-add button {
      width: 36px;
      height: 36px;
      border-radius: 18px;
      background: linear-gradient(#c0a5f3, #7f95f7);
      color: white;
      font-size: 18px;
      left: -36px;
      z-index: 10;
    }
    

    剩下的过滤选项和 todo 列表的 CSS 就没什么特殊的了,可以参考文章开头提供的、完整的源代码实现。另外要注意的是,这里的 CSS 不支持 before 和 after 伪元素,因为毕竟不是原生的 html,无法创建虚拟的 dom。

    编写 JS 部分

    我们的过滤选项和 Todo 列表中的数据可以从 JS 中获取,在 JS 中定义好数据,然后在 hml 中访问,这里的语法和方式跟 Vue 一样。

    打开 index.js 文件,删除 data 中的示例数据和示例的生命周期函数,然后添加过滤选项需要的数据 filters,和 todo 列表中的数据 todos:

    data: {
      title: ""
        filters: ["全部", "已完成", "未完成"],
        todos: [{id: 1, content: "待办1"}, {id: 2, content: "待办2"}]
    },
    

    接着打开 index.hml 文件,把 filters 中的 text 删掉 2 个,剩下的一个改成:

    • 使用 for 指令遍历 data 中的 filters 数据,并且给每个元素命名为 filter
    • 设置 tid, 相当于 Vue 中的 key,用于列表数据渲染性能优化,这里直接使用$idx,数组的索引,{{}}用来获取变量的值
    • 然后内容则是 filter 变量中的值,使用 {{filter}} 获取。
    <text class="filter" for="{{filter in filters}}" tid="{{$idx}}">
      {{filter}}
    </text>
    

    接下来,删掉一个 todo-item 的示例,同样的改成循环渲染:

    • 这里的 tid 直接使用 todo 中的 id,可以直接使用 todo 中的 id 属性名字
    • 然后在 text 中使用 todo 中的 content 属性值
    <div class="todo-item" for="{{todo in todos}}" tid="id">
      <input type="checkbox" />
      <text>{{todo.content}}</text>
    </div>
    

    好了,现在代码就编写完成了,可以运行一下看一下最终效果,和开头的图片如果是一样的话,那么就成功了。

    总结

    这篇文章给如何编写鸿蒙 JS 项目提供了入门的指导,里边要涉及的内容还有很多,比如编写自定义的组件,使用@system/fetch 等系统组件加载远程数据等,这些一篇博文讲下来内容会比较多,所以后期会再继续更新进阶一点的教程。在编写完这个示例项目之后,发现鸿蒙的发展前景还是很大的,融合了当下最流行的应用开发方式,这样对于它的生态发展很有帮助,开发者的学习成本低,工作量也低,一套代码就可以在 TV、手表、PC、手机上运行,有着相当好的开发体验。希望随着系统和完善,有朝一日终成为主流的操作系统。

    最后总结下,通过本文你应该掌握了:

    • 配置开发环境并添加模拟器。
    • 鸿蒙中的 hml 、css ,js 的语法、用法和一些要注意的坑。
    • 成功运行 Todo TV 项目。

    如果觉得教程有帮助,请点赞并关注,我是峰华,感谢!

    我正在参加 CSDN 的【鸿蒙技术征文】活动,请给我点赞支持。

    展开全文
  • HarmonyOS应用开发—UI开发与预览

    千次阅读 多人点赞 2020-09-18 11:36:49
    HarmonyOS是面向全场景多终端的分布式操作系统,使得应用程序的开发打破了智能终端互通的性能和数据壁垒,业务逻辑原子化开发,适配多端。 通过智能表待办应用开发,让开发者了解智能表鸿蒙应用开发的全流程,实现从...

    感谢关注HarmonyOS,为了便于大家学习特将鸿蒙2.0基础教学内容整理如下:

    1、HarmonyOS应用开发—视频播放
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap1/index.html#0

    2、HarmonyOS应用开发—基本控件
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap2/index.html#0

    3、HarmonyOS应用开发—UI开发与预览
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-ui/index.html#0

    4、HarmonyOS应用开发—设备虚拟化特性开发
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-screenhardware/index.html#0

    5、HarmonyOS应用开发—HelloWorld应用开发E2E体验
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-HelloWorld/index.html#0

    6、HarmonyOS应用开发—有界面元程序交互
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap6/index.html#0

    7、HarmonyOS应用开发-分布式任务调度
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap5/index.html#0

    8、HarmonyOS应用开发—剪切板
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap4/index.html#0

    9、HarmonyOS应用开发—应用偏好数据读写
    https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap3/index.html#0

    以下为HarmonyOS应用开发—UI开发与预览节选部分,如想进一步了解,请点击:HarmonyOS应用开发—UI开发与预览

    一、介绍

    通过智能表待办应用开发,让开发者了解智能表HarmonyOS应用开发的全流程,实现从工程创建到界面预览全过程。使用HUAWEI DevEco Studio开发HarmonyOS待办应用,完成工程创建、代码编辑,界面预览等开发过程。

    您将建立什么

    在这个CodeLab中,你将创建一个智能表的Demo Project(harmony-todo),以及完成一个待办应用的页面的搭建和预览。

    您将学到什么

    • 如何搭建一个APP并添加页面布局
    • 如何实时预览创建的页面布局信息
    • 完成智能表应用的页面搭建和预览

    硬件要求

    • 操作系统:Windows10 64位
    • 内存:8G及以上
    • 硬盘:100G及以上
    • 分辨率:1280*800及以上

    软件要求

    提示:智能表UI开发的预览功能将在Beta2版本上线,当前只能在CodeLab现场体验尝鲜

    • 设置DevEco Studio开发环境,DevEcoStudio开发环境需要依赖于网络环境,需要连接上网络才能确保工具的正常使用,可以根据如下两种情况来配置开发环境
    • 如果可以直接访问Internet,只需进行下载HarmonyOS SDK操作
    • 如果网络不能直接访问Internet,需要通过代理服务器才可以访问,请参考配置开发环境

    提示:下载HarmonyOS SDK时,需要下载JS SDK和SDK Tools中的Previewer

    需要的知识点

    • html、CSS、JavaScript开发基础能力

    二、代码开发

    1.打开本地Demo Project(harmony-todo)

    在这里插入图片描述

    2.点击Previewer按钮,实时预览Demo Project(harmony-todo)

    在这里插入图片描述

    提示:开发过程完成每一步点击保存之后即可在预览界面实时预览效果

    3.为index页面(index.hml)添加布局信息

    在这里插入图片描述

    3.1添加今日待办事项的列表

    <todo-header title="今日待办" type="" @add-event="toAddEvent"></todo-header>
    <list-item for="{{todayList}}" class="tag-list-item" clickeffect="false">
        <todo-list @complete-event="completeEvent" @delete-event="deleteEvent" todo="{{$item}}"
                todos="{{todayList}}" index="{{$idx}}"></todo-list>
    </list-item>
    

    提示:以上代码只是demo演示,产品化的代码需要使用国际化

    预览效果如下所示:
    在这里插入图片描述

    3.2添加明日待办事项的列表

    <todo-header title="明日待办" type="" @add-event="toAddEvent"></todo-header>
    <list-item for="{{tomorrowList}}" class="tag-list-item" clickeffect="false">
        <todo-list @complete-event="completeEvent" @delete-event="deleteEvent" todo="{{$item}}"
                todos="{{tomorrowList}}" index="{{$idx}}"></todo-list>
    </list-item>
    

    提示:以上代码只是demo演示,产品化的代码需要使用国际化

    3.3添加即将来临待办事项的列表

    <todo-header title="即将来临" type="" @add-event="toAddEvent"></todo-header>
    <list-item for="{{laterList}}" class="tag-list-item" clickeffect="false">
        <todo-list @complete-event="completeEvent" @delete-event="deleteEvent" todo="{{$item}}"
                todos="{{laterList}}" index="{{$idx}}"></todo-list>
    </list-item>
    

    提示:以上代码只是demo演示,产品化的代码需要使用国际化

    4.添加逻辑代码(index.js)

    在这里插入图片描述

    4.1添加待办事项完成的逻辑代码

    completeEvent(clicked) {
        var lists = clicked.detail.lists;
        var eid = clicked.detail.id;
        datahelper.completeEvent(eid, lists);
    },
    

    4.2添加删除待办事项的逻辑代码

    deleteEvent(clicked){
        var index = clicked.detail.index;
        var lists = clicked.detail.lists;
        lists.splice(index, 1);
    },
    

    预览效果如下图所示:
    在这里插入图片描述

    三、编译构建

    点击Build > Build APP(s)/Hap(s) > Build Debug Hap(s),打包生成hap包
    在这里插入图片描述

    四、恭喜您

    您已经成功完成了CodeLab,并学到了:

    • 如何开发一个智能表应用
    • 如何实时预览开发的UI界面
    • 完成UI设计开发与预览的整体流程。

    【如果您想学习HarmonyOS 应用开发基础教程 请猛戳】

    展开全文
  • 华为鸿蒙 OS 2020 计划曝光!手机仍然优先用安卓

    万次阅读 多人点赞 2019-12-10 10:37:35
    四个月,是一个节点,华为鸿蒙OS该有点新消息了。 2019年8月9日,鸿蒙OS发布,到今天,刚好是四个月。 除手机、平板和电脑,华为其他终端将全线搭载鸿蒙OS 12月8日,鸿蒙OS泛出新涟漪。 当日,华为消费者业务软件...
  • 鸿蒙OS 2.0 开源蹭热浅读

    千次阅读 2020-09-11 14:45:52
    开篇 事情在未做之时并无形式,亦无规则,有人做了,就有了形式和规则,要...2020年9月10日18时18分,华为正式开源鸿蒙 OS 2.0 版本: 开源项目:https://www.openatom.org/openharmony 代码仓库:https://open...
  • HarmonyOS 鸿蒙入门教程之01 基础环境和开发工具 (教程含源码) 原创 HarmonyOS 鸿蒙开发之02开发工具安装 原创 HarmonyOS 鸿蒙入门教程之03 运行开发工具完成基础配置DevEco Studio(教程含源码) 原创&...
  • 抢先学鸿蒙(HarmonyOS)2.0,你就是下一个大咖!

    万次阅读 多人点赞 2020-10-08 07:44:32
    2020年9月10日,华为开发者大会发布了鸿蒙(HarmonyOS)2.0。我在2020-9-11日也发布了全球首套鸿蒙2.0 App开发视频课程《鸿蒙(HarmonyOS)2.0入门与实战》【提前一个月做完了,由于保密协议的原因,只能在发布会后...
  • HarmonyOS应用发布形态为APP Pack(Application Package,简称APP),它是由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成。 HAP是Ability的部署包,HarmonyOS应用代码围绕...
  • 鸿蒙OS是什么

    千次阅读 多人点赞 2020-09-08 16:43:47
    鸿蒙HarmonyOS 介绍 华为公司新近推出的经历十年多时间自主研发的鸿蒙操作系统(HarmonyOS),是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全 。目前主要用于智能物联网,在将来无法使用Android时...
  • 鸿蒙系统HarmonyOS开发初体验

    千次阅读 2020-09-26 23:47:41
    将按照鸿蒙OS介绍,IDE介绍,安装及运行,项目构成,APP基本组件,APP可执行文件这几个方面来讲述我自己的开发体验。 鸿蒙OS 基于微内核的跨平台分布式操作系统,最新为2.0。不再停留在PPT上,公开了源码和IDE。...
  • AbilitySlice主要用于承载Ability的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。AbilitySlice通过setUIContent()为界面设置布局 更多技术交流请加入QQ群 群名称:harmonyos鸿蒙技术交流 群 号:...
  • 简单介绍华为鸿蒙系统应用开发工具 DevEco Studio的安装和使用 据说12月份鸿蒙系统会推出手机的SDK哦,作为一名普通的开发者,表示非常期待。 一、HUAWEI DevEco Studio 介绍 HUAWEI DevEco Studio 是华为消费者...
  • 本文章提炼于大家一起学鸿蒙OS应用程序开发视频教程: https://blog.csdn.net/dongyu1009/article/details/108697116 如果希望了解详细内容,可进入上述网页进入视频教程的学习! 本文档长期更新,希望大家关注。...
  • HarmonyOS鸿蒙开发小知识之Component和ComponentContainer区别 Component 是什么? Component:提供内容显示,是界面中所有组件的基类,开发者可以给Component设置事件处理回调来创建一个可交互的组件。Java UI框架...
  • 鸿蒙初体验:从安装到第一个程序 Hello HarmonyOS

    千次阅读 多人点赞 2020-09-23 16:27:45
    华为鸿蒙OS 2.0就不多介绍了 一、源码和应用下载地址 鸿蒙的源码地址:https://openharmony.gitee.com 华为开发者联盟:https://developer.huawei.com/consumer/cn 官方文档:...
  • 趣谈鸿蒙,一文尽始终

    千次阅读 多人点赞 2020-10-02 23:54:08
    鸿蒙   道教神话传说的远古时代,传说盘古在昆仑山开天辟地之前,世界是一团混沌的元气,这种自然的元气叫做鸿蒙,因此把那个时代称作鸿蒙时代,后来此一词也常被用来泛指称远古时代。四大名著《西游记》第一回中...
  • UIKit框架的介绍

    万次阅读 2011-08-23 10:44:35
    UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面( UI )接口、应用程序对象、事件控制、绘图模型、窗口、视图和用于控制触摸屏等的接口。(PS1: 可以认为是操纵界面的一个API库)(PS2: UIKit...
  • 华为鸿蒙OS2.0:为中国的软件行业种“根”

    万次阅读 多人点赞 2020-09-22 17:47:08
    华为鸿蒙OS2.0系统定义 HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种...
  • 当脉脉上全是dis鸿蒙系统的时候,我已经做完了第一个demo app,毛主席说过没有调查就没有发言权,与其坐而论道不如行而起之,来通过第一个app,感受一下鸿蒙app的开发和普通ios和Android开发有什么不同. 先自我介绍一下...
1 2 3 4 5 6
收藏数 104
精华内容 41
关键字:

ui界面 鸿蒙os