HarmonyOS之构建用户界面

这篇具有很好参考价值的文章主要介绍了HarmonyOS之构建用户界面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 添加容器

       要将页面的基本元素组装在一起,需要使用容器组件。在页面布局中常用到三种容器组件,分别是div、list和tabs。

       1.div组件:页面结构相对较简单时,由于div作为单纯的布局容器,可以直接多种子组件,所以可以直接用div作为容器使用。

        2.list组件:当页面结构较为复杂时,可以利用list组件实现更流畅的操作。注意的是,list仅支持list-item作为子组件,使用实例:

<!-- xxx.hml -->
<list class="list">
    <list-item type="listItem" for="{{textList}}">
        <text class="desc-text">{{$item.value}}</text>
    </list-item>
</list>
// xxx.js
export default {
    data: {
        textList:  [{value: '划水'},{value:'摸鱼'}],
    },
}
/* xxx.css */
.desc-text {
    width:689px;
    height:80px;
    font-size:35px;
    background-color:green;
}

HarmonyOS之构建用户界面

         3.tabs组件:当页面需要动态加载时推荐使用tabs组件。tabs组件仅支持一个tab-bar和一个tab-content,使用示例如下:

<!-- xxx.hml -->
<tabs>
    <tab-bar>
        <text>Hzw</text>
        <text>Potter</text>
        <text>Jay</text>
    </tab-bar>
    <tab-content>
        <image src="{{hzwImage}}"></image>
        <image src="{{potterImage}}"></image>
        <image src="{{jayImage}}"></image>
    </tab-content>
</tabs>
// xxx.js
export default {
    data: {
        hzwImage:'common/hzw.png',
        potterImage:'common/potter.png',
        jayImage:'common/jay.png'
    }
}

HarmonyOS之构建用户界面

  •  添加交互

        运用div、text、image组件关联click事件构建点赞按钮

        1.image组件用于显示未点赞和点赞的效果

        2.text组件用于显示点赞数

        实现实例如下:

<!--添加交互-->
<div>
    <div class="like" onclick="lickClick">
        <image class="like-img" src="{{likeImage}}" focusable="true"></image>
        <text class="like-num" focusable="true"></text>
    </div>
</div>
/* xxx.css */
.like {
    width: 104px;
    height: 54px;
    border: 2px solid #bcbcbc;
    justify-content: space-between;
    align-items: center;
    margin-left: 72px;
    border-radius: 8px;


}
.like-img {
    width: 33px;
    height: 33px;
    margin-left: 14px;

}
.like-num {
    color: #bcbcbc;
    font-size: 20px;
    margin-right: 17px;
}
// xxx.js
export default {
    data: {
        likeImage:'/common/unLike.png',
        isPressed:false,    //初始值为false
        total:20,
    },
    lickClick() {
        var temp;
        if(!this.isPressed) {   //点赞
            temp=this.total+1;
            this.likeImage = '/common/like.png';
        } else {            //取消点赞
            temp = this.total-1;
            this.likeImage='/common/unLike.png';
        }
        this.total=temp;
        this.isPressed=!this.isPressed;
    },
}

HarmonyOS之构建用户界面HarmonyOS之构建用户界面

  •  页面跳转

        很多应用由多个页面组成,开发者需要通过页面路由将这些页面串联起来,按需实现跳转。

页面路由router根据页面的uri找到目标页面,从而实现跳转。

        基础的两个页面之间的跳转的实现步骤:

        1. 在“Project“窗口,打开entry > src > mainjsdefault,右键点击pages文件夹,选择NewJS Page,创建一个详情页。

        2.调用router.push()路由到详情页

        3.调用router.back()回到首页

        HarmonyOS之构建用户界面

<!--index的hml-->
<div class="container">
    <button class="btn" value="To Page2" onclick="toPage2"></button>
    <button class="btn" value="To Page2 with Params" onclick="toPage2WithParams"></button>
</div>
/*index的css*/
.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}

.title {
    font-size: 40px;
    text-align: center;
    width: 100%;
    height: 40%;
    margin: 10px;
}

.btn{
    font-size: 20px;
    width: 300px;
    height: 50px;
    color: #000000;
    opacity: 0.9;
    background-color: cadetblue;
    margin:  10px;
}
//index的js
import router from "@system.router";    //导入router模块
export default {
    data: {
        title: ""
    },
    onInit() {
        this.title = this.$t('strings.world');
    },

    toPage2(){
    router.push({
        uri:'pages/page2/page2',//调用router.push()接口将uri指定的页面添加到路由栈中
        });                     // 即跳转到uri指定的页面。
    },

    toPage2WithParams(){
        router.push({
            uri:'pages/page2/page2',
            params:{
                title:'Huawei',     //尝试跳转到此页面时对page2的title值进行修改
            }
        });

    }

}


}
<!--page2的hml-->
<div class="container">
    <text class="title">
        Hello {{title}}
    </text>
    <button class="btn" value="Go Back" onclick="goBack"></button>
</div>
/*page2.css*/
.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}

.title {
    font-size: 38px;
    text-align: center;
    width: 100%;
    margin: 10px;
}
.btn{
    font-size: 20px;
    width: 300px;
    height: 50px;
    color: #000000;
    opacity: 0.9;
    background-color: cadetblue;
    margin:  10px;
}
//page2.js
import router from "@system.router";
export default {
    data: {
        title: ""
    },

    goBack(){
        router.back();

    }
}

实现效果:

HarmonyOS之构建用户界面   

选项一:

HarmonyOS之构建用户界面

 选项二:

 HarmonyOS之构建用户界面文章来源地址https://www.toymoban.com/news/detail-496782.html

到了这里,关于HarmonyOS之构建用户界面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端组件开发指南:构建可复用、高效的用户界面

    在现代Web开发中,前端组件扮演着重要的角色。它们是构建用户界面的基本构建块,能够使开发人员更高效地开发、测试和维护代码。本文将带您深入了解前端组件的概念、优势以及如何使用常见的前端框架构建可复用的组件。 前端组件是一种封装了HTML、CSS和JavaScript代码的

    2024年02月16日
    浏览(49)
  • 如何设计和构建一个PyQt图形用户界面(GUI)

    欢迎来到PyQt的世界!设计和构建一个图形用户界面(GUI)可以是一项令人兴奋且有趣的任务。 首先,你需要确保已经安装了PyQt。如果你还没有安装,可以通过以下命令在你的Python环境中安装: 现在,让我们开始设计你的第一个PyQt GUI! 第一步:创建窗口 想象一下,如果你

    2024年02月12日
    浏览(40)
  • PyQT5: 构建图形用户界面的Python指南

    PyQt5是一个Python绑定的跨平台C++库,用于创建丰富的图形用户界面(GUI)。它是Qt库的Python接口,Qt库由Qt公司开发,用于开发GUI程序,也称作应用程序框架。在此,我们将详细介绍如何使用PyQt5创建图形用户界面。 在开始之前,我们需要确保已经在Python环境中安装了PyQt5。如果

    2024年02月13日
    浏览(53)
  • Python GUI初学者教程,轻松构建用户界面

    Python GUI入门教程:轻松构建用户界面。 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 Python以其简单性和多功能性成为最受欢迎的编程语言之一。从网络开发到数据科学,Python被广泛应用于各个领域。 本文将探索Python内置的用于创建图形用户界面(GUI)的库

    2024年01月15日
    浏览(60)
  • 鸿蒙开发实例|构建轻量级智能穿戴设备用户界面

    HarmonyOS提供了轻量级智能穿戴应用开发,开发者可以在运动手表上开发跨设备协同工作的应用,如从与之匹配的智能手机、平板等各类设备上获取信息,便捷地显示在运动手表上,或通过对运动手表的操作来控制其他设备上的操作任务,为消费者带来更加灵活、智慧的分布式

    2024年02月03日
    浏览(71)
  • 深入探索Java GUI编程:构建交互丰富的用户界面

    Java GUI编程是构建交互式用户界面的关键技术之一。本文将深入研究Java GUI编程的基本概念和原理,介绍Swing和JavaFX两种主流的GUI框架,并通过实例演示它们的使用。读者将学习如何创建各种组件、布局管理、事件处理以及美化界面,从而构建出功能丰富、美观而又用户友好的

    2024年02月16日
    浏览(44)
  • 深入了解Vue.js框架:构建现代化的用户界面

    目录 一.Vue前言介绍 二.Vue.js框架的核心功能与特性 三.MVVM的介绍  四.Vue的生命周期 五.库与框架的区别 1.库(Library): 2.框架(Framework): 六.Vue常用指令演示 1.v-model 2.v-on:click(简写:@click)     本篇博客将带你深入了解Vue.js框架的核心概念和强大功能 互关三连111 感谢大

    2024年02月07日
    浏览(48)
  • 【PyQt5】构建强大的Python图形用户界面应用程序 -- 入门指南

      作者主页: 爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主 爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域. https://blog.csdn.net/Code_and516?type=blog 个人简介:打工人。 持续分

    2024年02月15日
    浏览(48)
  • ExtJS 确实提供了大量的 UI 组件,用于构建具有丰富交互性的用户界面

    ExtJS 确实提供了大量的 UI 组件,用于构建具有丰富交互性的用户界面。ExtJS 是一个功能强大的 JavaScript 框架,主要用于构建富互联网应用程序(RIA)。以下是 ExtJS 提供的一些主要 UI 组件: 按钮(Buttons) :用于触发各种动作或事件的组件。 表单(Forms) :用于收集和提交用

    2024年02月03日
    浏览(47)
  • 用户界面设计和评估:如何设计具有吸引力、易用性和可靠性的用户界面?

    作者:禅与计算机程序设计艺术 用户界面(User Interface)是一个给用户提供服务或者产品的系统界面,通过人机交互、信息呈现、文字表达、图形符号等表现形式进行沟通,帮助用户更好的使用产品或服务。它对于提升企业的品牌影响力、增加客户黏性、改善用户体验、降低

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包