首页 > 其他分享 >09-鸿蒙开发中的界面开发:布局思路入门

09-鸿蒙开发中的界面开发:布局思路入门

时间:2024-11-04 12:16:50浏览次数:3  
标签:控件 09 界面 鸿蒙 容器 Column 布局 marginBottom 开发

  大家好,欢迎来到鸿蒙开发系列教程!今天,我们将深入探讨界面开发中的布局思路。布局是用户界面设计的核心,合理的布局不仅可以提升用户体验,还能使代码更加整洁和易于维护。无论你是初学者还是有一定经验的开发者,理解布局的思路都是非常有帮助的。让我们开始吧!

1.什么是界面布局?

    布局是指在用户界面上安排和组织各个控件(如按钮、文本框、图像等)的位置和大小。良好的布局可以使界面美观、易用,提升用户的满意度。

2.布局的基本原则
  1. 一致性:界面的布局应该保持一致,避免用户在使用过程中感到困惑。
  2. 简洁性:界面应该简洁明了,避免过多的装饰和冗余的信息。
  3. 可扩展性:布局应该易于扩展和修改,以适应未来的需求变化。
  4. 响应性:布局应该能够在不同设备和屏幕尺寸上良好地显示。
3. 布局容器

在鸿蒙开发中,常用的布局容器有以下几种:

  1. Column:垂直布局容器,子控件按垂直方向排列。
  2. Row:水平布局容器,子控件按水平方向排列。
  3. Stack:堆叠布局容器,子控件可以重叠放置。
  4. Flex:弹性布局容器,可以根据父容器的大小自动调整子控件的大小和位置。

4.布局属性

在布局容器中,可以使用以下属性来控制子控件的排列和大小:

  1. width 和 height:设置控件的宽度和高度。
  2. alignItems 和 justifyContent:控制子控件在容器中的对齐方式。
  3. padding 和 margin:设置控件的内边距和外边距。
5.案例实战:一个简单的登录界面

为了更好地理解布局的思路,我们来看一个简单的登录界面示例。我们将使用 ColumnRow 布局容器来组织界面。

  1. 定义界面结构
import { Column, Row, Text, TextField, Button, FlexAlign } from '@ohos/arkui';

export default {
    build() {
        return (
            <Column width="100%" height="100%" alignItems="center" justifyContent="center">
                <Text style={{ fontSize: '24px', marginBottom: '20px' }}>登录</Text>
                <TextField placeholder="请输入用户名" style={{ width: '80%', marginBottom: '10px' }} />
                <TextField placeholder="请输入密码" type="password" style={{ width: '80%', marginBottom: '20px' }} />
                <Button type="primary" style={{ width: '80%' }} onClick={() => this.handleLogin()}>
                    登录
                </Button>
            </Column>
        );
    },
    handleLogin() {
        console.log('登录按钮被点击了');
    }
};
  1. 解释代码
  • Column:作为最外层的容器,使用 Column 布局容器将所有控件垂直排列。
  • Text:用于显示登录标题。
  • TextField:用于输入用户名和密码。
  • Button:用于触发登录操作。
  • style:使用内联样式来设置控件的样式,如字体大小、宽度、边距等。
  • alignItems 和 justifyContent:设置子控件在容器中的对齐方式,使界面居中显示。
6. 案例实战复杂布局示例:一个商品详情页

接下来,我们来看一个稍微复杂一点的示例,一个商品详情页的布局。

  1. 定义界面结构
import { Column, Row, Text, Image, Button, FlexAlign } from '@ohos/arkui';

export default {
    build() {
        return (
            <Column width="100%" height="100%" alignItems="center" justifyContent="flex-start">
                <Image src="https://example.com/product-image.jpg" width="300" height="300" style={{ margin: '20px 0' }} />
                <Text style={{ fontSize: '24px', marginBottom: '10px' }}>华为非凡大师</Text>
                <Text style={{ fontSize: '18px', color: '#FF5722', marginBottom: '20px' }}>价格: 1299.99元</Text>
                <Text style={{ fontSize: '16px', marginBottom: '20px' }}>这款手机采用了最新的技术,性能强劲,适合各种场景使用。</Text>
                <Button type="primary" style={{ width: '80%', marginBottom: '20px' }} onClick={() => this.addToCart()}>
                    加入购物车
                </Button>
                <Button type="default" style={{ width: '80%' }} onClick={() => this.buyNow()}>
                    立即购买
                </Button>
            </Column>
        );
    },
    addToCart() {
        console.log('加入购物车按钮被点击了');
    },
    buyNow() {
        console.log('立即购买按钮被点击了');
    }
};
  1. 解释代码
  • Column:作为最外层的容器,使用 Column 布局容器将所有控件垂直排列。
  • Image:用于显示商品图片。
  • Text:用于显示商品名称、价格和描述。
  • Button:用于触发加入购物车和立即购买的操作。
  • style:使用内联样式来设置控件的样式,如字体大小、颜色、宽度、边距等。
  • alignItems 和 justifyContent:设置子控件在容器中的对齐方式,使界面居中显示。
总结

通过本文,你已经学会了如何在鸿蒙开发中进行界面布局,包括布局的基本原则、常用的布局容器和属性,以及两个实际的布局示例。布局是用户界面设计的核心,合理的布局不仅可以提升用户体验,还能使代码更加整洁和易于维护。

如果你有任何问题或建议,欢迎在评论区留言交流。期待在鸿蒙开发的道路上与你共同成长!


希望你喜欢这篇文章,如果觉得有用,别忘了点赞和分享哦!再见!


希望这篇文章对你有所帮助,如果有任何问题或建议,欢迎随时留言交流!再见!

标签:控件,09,界面,鸿蒙,容器,Column,布局,marginBottom,开发
From: https://blog.csdn.net/LCFliu/article/details/143480717

相关文章

  • 01-鸿蒙开发环境准备:新手入门指南
        大家好,欢迎来到鸿蒙开发的新世界!作为一名即将踏上鸿蒙开发之旅的开发者,首先你需要做的是准备好你的开发环境。别担心,这并不是一件难事,只要你跟着这篇文章一步步来,相信很快你就能在鸿蒙开发的道路上迈出坚实的一步。1.下载DevEcoStudio首先,你需要一台运行Wind......
  • 新闻稿件管理:SpringBoot框架高效开发
    2相关技术2.1MYSQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或者其他......
  • 亚马逊-专利投诉系统-批量投诉-开发-流程引擎
     系统图如图所示所需数据直接通过xls导入。开发过程:导入xls表格自动生成数据模型。 点击生成表单即可自动创建一个前端UI,如第一张图所示。 新增,删除,修改,导入,导出,全部功能默认自带OK。 方便灵活调整各种字段,新增字段,修改字段。一个人使用10分钟即可完成。到此-CRM......
  • 10.25 每日总结(敏捷开发知识点)
    今天主要还是学习软考,主要学习了敏捷开发的相关内容,之前也搞过敏捷开发所以理解起来还算可以。学习时长2小时。下面贴出敏捷开发的知识点:敏捷开发响应变化胜过遵循计划结对编程:一个程序员开发,另一个程序在一旁观察审查代码,能够有效的提高代码质量,在开发同时对代码进行初步审查......
  • Chrome 130 版本开发者工具(DevTools)更新内容
    Chrome130版本开发者工具(DevTools)更新内容一、网络(Network)面板更新1.重新定义网络过滤器网络面板获新增了一些过滤条件,这些过滤条件是根据反馈重新设计的,特定于类型的过滤条件保持不变,即在简洁的多选栏中显示一组标记。可以通过Cmd/Ctrl键+点击来多选类型过滤条件。......
  • Java路线图:Java基础入门、Java核心技术、JVM和性能优化、web服务器、web开发框架、消
    准备下载、配置Maven下载、安装IntelliJIDEA准备一个GitHub仓库(或者码云),管理Java源代码Java基础入门1)基本数据类型8种基本数据类型(boolean、char、byte、short、int、long、float、double)整形中byte、short、int、long的取值范围单精度和双精度为什么不能使用......
  • iOS开发者个人账号升公司账号
    刚开始申请的是个人开发者,因为AppStore显示的开发者是人名不方便,因此申请迁移到公司开发者,需要点时间也不花钱。以下是过程1.由于苹果开发者热线已停止使用,新联系苹果客服入口介绍请参考以下指南:http://www.qianfanyun.com/help/754 2.简单向对方说明意图:个人开发者迁移到公......
  • Win+Vscode+Linux子系统配置UEFI开发环境
    1.在MicrosoftStore下载一个喜欢的Linux系统,我选择Ubuntu18.04.6LTS2.切换软件镜像源:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/3.按这个配置:https://blog.csdn.net/weixin_44139099/article/details/1406814424.一定要安装最新的nasm,否则会报错。https://www.nas......
  • 1-ARM Linux驱动开发-MIO控制
    1-ARMLinux驱动开发-MIO控制一、前言MIO也属于是字符设备,将MIO复用为GPIO可以实现对LED等外设的控制,其本质是从寄存器层面对硬件的控制。这次主要记录一下GPIO控制LED的驱动。官网ZYNQ寄存器手册https://docs.amd.com/r/en-US/ug1087-zynq-ultrascale-registers/Overv......
  • 不懂编程技术能学软件开发吗?学软件开发如何开始呢?
    在当今数字化时代,软件开发已经成为一项重要的技能。许多人对学习软件开发感兴趣,但往往担心自己是否具备足够的编程技术。本文将探讨不懂编程技术的人是否能够学习软件开发,并提供一些建议和步骤,帮助他们开始学习软件开发。第一部分:不懂编程技术能否学习软件开发?编程技术的基础......