鸿蒙(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知识,就可以设计复杂界面

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WIN7(WINDOWS7)在添加网络打印机时提示这个,这里的密码是什么密码,能不能不用密码?

    WIN7(WINDOWS7)在添加网络打印机时提示这个,这里的密码是什么密码,能不能不用密码?

    2021年11月17日
    40
  • sm4算法加密解密

    sm4算法加密解密一、基本知识分组加密(英语:Blockcipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。 对称加密、加密算法主要可以分为两种,一个是非对称加密算法,另一个就是对称加密算法。对称加密简单来说就是有一个明文,通过一个密钥加密之后得到一个密文,这个密文可以通过相同的密要解密得出和原来相同的明文二、sm…

    2022年10月6日
    0
  • Coursera 助学金模板

    Coursera 助学金模板最近准备开始在Coursera上刷编程课程,然鹅作为一个穷学生当然是负担不起几百刀一节的学费,还好可以申请助学金,真是雪中送炭……于是乎,我觉得要提前编一套模板出来便于以后用……刚刚提交了PythonforEveryone课程的申请,把内容写下来记录一下……理由Dearreviewers,IamastudentfromChinawhohasnoincome…

    2022年7月24日
    7
  • php phantomjs 截屏,phantomjs截图

    php phantomjs 截屏,phantomjs截图废话不多说,直接上代码。功能:随便截取一个url页面:https://www.baidu.com/s?word=phantomjs+%E6%88%AA%E5%9B%BE&tn=43061099_196_hao_pg&ie=utf-8&ssl_sample=hao_1phantomjs的js环境test.jssystem=require(‘system’)address…

    2022年7月14日
    17
  • 稀疏矩阵的十字链表存储的思路

    稀疏矩阵的十字链表存储的思路刚才终于完完全全、彻彻底底的搞明白了稀疏矩阵十字链表的存储方式的实现与该算法的思想。我觉得有必要把自己的思路记下来,一呢等自己将来忘记了可以回过头来看,二呢希望与我一样对该存储方式迷惑的朋友可以通过我的文章得到一点点的启示。现在进入正题。       我们知道稀疏矩阵的三元组

    2022年6月18日
    25
  • SpringCloud-Alibaba-Sentinel-服务降级-热点限流-服务熔断

    SpringCloud-Alibaba-Sentinel-服务降级-热点限流-服务熔断前言:除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方API等。例如,支付的时候,可能需要远程调用银联提供的API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用熔断策略Sentinel提供

    2022年6月12日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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