鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面鸿蒙的最新IDE支持可视化开发。几乎不需要编写一行代码,就可以设计非常复杂的界面。当然,如果要实现业务逻辑,还是需要编写代码的。所以我们把这些功能称为低代码开发,也就是说,可以让我们少编写一些代码。

大家好,又见面了,我是你们的朋友全栈君。

鸿蒙的最新IDE支持可视化开发。几乎不需要编写一行代码,就可以设计非常复杂的界面。当然,如果要实现业务逻辑,还是需要编写代码的。所以我们把这些功能称为低代码开发,也就是说,可以让我们少编写一些代码。

本文将详细介绍如何使用鸿蒙最新的IDE来设计一个复杂的界面。首先启动IDE,并创建一个JS工程。

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

由于可视化开发目前只支持JS,所以我们只能用JS工程。

创建完工程后,找到js中的pages配置,然后在右键菜单中点击New -> JS Visual菜单项,如下图所示。

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

这时会弹出一个对话框,如下图所示。

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

输出可视化文件名字,并选中下面的复选框,然后点击Finish按钮创建可视化设计器文件。在创建完可视化设计器后,会看到工程树中多了一个supervisual节点,该节点与pages节点的目录结构类似,如下图所示:

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

如果使用Web相关技术设计界面,有两种方式。第1种就是传统的方式,通过hml文件和css文件设计界面,这种方式需要编写UI代码。而第2种方式就是本文要讲的可视化设计器,也就是page.visual文件。其实该文件是JSON格式的,只是鸿蒙IDE将其解析成可视化形态。

如果采用第1种方式设计界面,必须包含3个文件:index.js、index.hml和index.css。而如果使用第2种设计界面的方式,就不再有index.hml和index.css文件,取而代之的是page.visual文件。也就是说,如果采用可视化的方式设计界面,只有两个文件:page.js和page.visual。分别位于pages和supervisual目录的相应子目录。

现在双击page.visual文件,会看到如下的可视化设计区域:

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

在这个区域共分为4部分:左上角的组件面板、左下角的组件结构树、中间的可视化设计器以及右侧的属性面板。

现在我们就用这个可视化设计器设计一个列表。首先删除原有的组件。要想绘制一个列表,需要使用列表组件(List)和列表项组件(ListItem)。现在首先将列表组件放到设计区域,将列表组件拉动到与设计界面同样尺寸,然后拖动一个列表项组件放到列表组件上面。现在点击列表项组件,在右侧的属性面板中切换到第2个属性页,然后设置列表项的高度为100,设置后的效果如下图所示:

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

接下来拖动一个图像组件(Image)和一个文本显示组件(Text)的列表项组件上。现在点击文本显示组件,在右侧的属性面板中切换到第3个属性页,设置文本显示组件的字体尺寸为20,并让文本组件显示一个静态的文本,效果由下图所示:

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

到现在为止,所有的可视化设计工作全部完成。下一步需要往这个列表里边添加数据。数据来源可以有多种方式。本例将采用JS数组定义在列表中显示的数据。

现在切换到index.js文件,并编写如下代码:

export default {
    data: {
        data:[
            {
                title:'鸿蒙编程思想',
                image:'common/images/a.png'
            },
            {
                title:'Python从菜鸟到高手',
                image:'common/images/b.png'
            }
        ]
    }

其中data数组就是我们要显示的列表组件中的数据。在data数组中有两个对象,那一个对象定义了两个属性:title和image。分别用于将文本和图像显示在Text组件与Image组件中。

最后一步就是需要将data数组与列表组件绑定,现在切换到可视化设计器,点击列表项组件。在右侧的属性面板中切换到第1个属性页,然后将itemData属性值设置为{
{data}},如下图所示。其中{
{data}}就是在index.js中定义的data数组。现代数据已经和列表项绑定了。最后需要指定在不同的组件显示不同的数据。

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

现在点击图像组件,然后在右侧的属性面板中切换到第1个属性页,并设置Src属性的值为{
{$item.image}},如下图所示:

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

用同样的方法设置文本显示组件的content属性的值为{
{$item.title}},如下图所示:

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

到显示为止,列表组件已经可以显示数据了,如下图所示。

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

不过图像组件没有完整显示图像,所以可以在右侧的属性面板中切换到第3个属性页,设置ObjectFit属性的值为contain。这时图像就可以完整显示了,有下图所示。

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

在手机中运行程序,会看到如下的效果,完美地所见即所得,而且无需编写一行UI代码。

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158118.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Excel连接字符串「建议收藏」

    Excel连接字符串「建议收藏」通过OleDb方式读取Excel文件时常常出现读取某些字段为null值,其实是有值,原因是读取文件时,Excel通常会以前10行的数据类型为参考,如果后边的与其不一致,则会出现些问题。可以通过修改E

  • 【21】进大厂必须掌握的面试题-65个SQL面试

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 Q1。SQL和MySQL有什么区别? SQL MySQL SQL是一种标准语言,代表基于英语的结构化查询语言 MyS…

  • java中将字符串分割转为List

    java中将字符串分割转为ListStringstr=”a,b,c,d”;String[]arr=str.split(“,”);List<String>list=Arrays.asList(str);

  • uniapp父子组件传值

    uniapp父子组件传值在父组件中引入子组件父传子(props)在子类props里定义接收参数在子类标签写上引用然后在父类写上准备传递的参数此时,父组件传到子组件的值,就会覆盖默认背景色子传父($emit)需要首先在子类组件定义事件在子类写上触发事件在父类引用标签上写上在子类$emit里面定义的方法名,以及接收方法然后点击子类触发,就可以传值给父类注意:1.父传子用props;…

  • Android Activity生命周期管理[通俗易懂]

    Android Activity生命周期管理[通俗易懂]AndroidActivity生命周期管理 田海立@CSDN2011/07/23 本文描述Android中Activity的状态,Activity的状态转换,从而总结了Activity各个生命周期的典型时序。与Android现有框架结合,充分考虑Activity的各个生命周期阶段,应用开发者实现相应的回调接口,只有这样,才能开发出符合框架规范的程序。 Activity状态Activity在And

  • Activiti教程(五)activiti5初始化表和讲解表

    Activiti教程(五)activiti5初始化表和讲解表声明:表详细数据转载自 https://blog.csdn.net/hj7jay/article/details/51302829该博主对activiti数据模型做了很深的讲解一.框架结构二.初始化activit5框架的表执行测试类里的createTables方法packagecom.lpinfo.activiti.test;importorg.activiti.e…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号