【HarmonyOS NEXT星河版开发学习】小型测试案例07-弹性布局小练习

news2024/9/22 21:15:26

个人主页→VON

收录专栏→鸿蒙开发小型案例总结​​​​​

基础语法部分会发布于github 和 gitee上面(暂未发布)

前言

在鸿蒙(HarmonyOS)开发中,Flex布局是一种非常有用的布局方式,它允许开发者创建灵活且响应式的用户界面。Flex布局基于弹性盒子模型,使得UI组件能够根据屏幕尺寸或其他条件动态调整大小和位置。

知识点概述

Flex容器属性

  • direction:定义主轴的方向,即子组件的排列方向。
    • FlexDirection.Row:子组件沿水平方向从左至右排列。
    • FlexDirection.RowReverse:子组件沿水平方向从右至左排列。
    • FlexDirection.Column:子组件沿垂直方向从上至下排列。
    • FlexDirection.ColumnReverse:子组件沿垂直方向从下至上排列。
  • wrap:定义当子组件无法全部显示在同一行或列时是否换行。
    • FlexWrap.NoWrap:不允许换行。
    • FlexWrap.Wrap:允许换行。
    • FlexWrap.WrapReverse:允许换行并反转换行的方向。

Flex子项属性

  • flex:定义子组件在主轴上的伸缩能力。
  • alignSelf:定义子组件在交叉轴上的对齐方式。
  • basis:定义子组件的初始大小。

Flax示例

@Entry
@Component
struct Index {
  build() {
    // Flex默认主轴水平向右,交叉轴垂直往下
    // 1.主轴方向:direction
    //  direction:FlexDirection.Row / Column
    // 2.主轴对齐方式:justifyContent
    //  justifyContent:FlexAlign.SpaceAround
    // 3.交叉轴对齐方式:alignItems
    //  alignItems:ItemAlign.Stretch / Start / Center / End
    //  单行或者单列的情况,优先还是使用线性布局(本质基于Flex设计的,且还做了性能优化)
    // 4.布局换行:wrap
    //  FlexWrap.Wrap 换行
    //  FlexWrap.NoWrap 不换行
    // Flex布局:伸缩布局。当子盒子的总和溢出父盒子,默认进行压缩显示
    Flex(){
      Text()
        .width(80)
        .height(80)
        .backgroundColor(Color.Pink)
        .border({width:1,color:Color.Blue})
      Text()
        .width(80)
        .height(80)
        .backgroundColor(Color.Pink)
        .border({width:1,color:Color.Blue})
      Text()
        .width(80)
        .height(80)
        .backgroundColor(Color.Pink)
        .border({width:1,color:Color.Blue})
    }
    .width(300)
    .height(300)
    .backgroundColor('#5f9a5c')
  }
}

界面效果展示

代码展示

@Entry
@Component
struct Index {
  build() {
    Column(){
      Text('阶段练习')
        .fontSize(30)
        .fontWeight(700)
        .padding(15)
      Flex({
        wrap:FlexWrap.Wrap
      }){
        Text('ArkUI').padding(10).backgroundColor('#f1f1f1').margin(5)
        Text('ArkTS').padding(10).backgroundColor('#f1f1f1').margin(5)
        Text('界面开发').padding(10).backgroundColor('#f1f1f1').margin(5)
        Text('系统能力').padding(10).backgroundColor('#f1f1f1').margin(5)
        Text('权限控制').padding(10).backgroundColor('#f1f1f1').margin(5)
        Text('元服务').padding(10).backgroundColor('#f1f1f1').margin(5)
      }
    }
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1990074.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA知识基础之--存储器知识点总结以及基于ip核的简单双端口RAM的实现和仿真(附RTL代码和Testbench代码)

目录 前言一、存储器的分类二、实验任务三 、简单(伪)双端口四、程序设计4.1 模块4.2 时序分析4.3 RTL代码ram_wr 写模块2.ram_rd 写模块3.top模块 五、仿真 前言 笔者在最近的存储器学习时,遇到了一些问题,为此笔者用本篇博客来…

ICM-20948芯片详解(9)

接前一篇文章:ICM-20948芯片详解(8) 六、寄存器详解 2. USER BANK 0寄存器详述 (6)INT_PIN_CFG 参考代码: #define ICM20948_INT_PIN_CFG 0x0F (7)INT_ENABLE 参考代码&#x…

我有10台120kw的直流充电桩,赢利了多少钱?我列出所有成本和多少利润,这里要算上政府补贴。【慧哥开源充电桩平台 HZCOS-chargeOS-cloud】

特别申明:仅仅代表个人观点,错的地方虚心请教学习,各位手下留情 拥有的10台120kW直流充电桩的盈利情况,并考虑到政府补贴,具体数字需要根据实际情况调整。 成本计算 初始投资成本 充电桩成本:每台120kW直…

利用Llama 3 API实现盈利:细节解析

随着人工智能技术的快速发展,基于大模型的服务成为了众多初创企业关注的焦点。Llama 3 API作为一种强大的语言模型接口,为小型公司提供了利用先进AI技术的机会。本文将探讨这些小公司如何通过Llama 3 API实现盈利,并分析其中的关键因素。 一、Llama 3 API性能概览 批处理输…

网络药理学:分子对接之一:macos上MOE和Autodock和PyMol和gromacs的下载、PDB数据库使用、gromacs能量最小化

MOE下载 别想了,要钱的。而且不算是主流软件,过。 Autodock和Autodock tools下载 下载地址:https://autodock.scripps.edu/download-autodock4/ 如果你的电脑满足以下配置,那么推荐下载autodock GPU 操作系统:mac…

重磅!观测云荣获SOC 2 Type II鉴证报告

近日,观测云在数据安全和内控管理领域再获殊荣,成功获得全球四大会计师事务所之一的安永会计师事务所签发的SOC 2 Type II 鉴证报告。这一荣誉不仅是对观测云在相关领域卓越表现的认可,更是对其对客户承诺坚定性和执行力的有力证明。 观测云 …

软件设计之JavaScript(1)

软件设计之JavaScript(1) 【狂神说Java】JavaScript最新教程通俗易懂 学习内容: 软件开发技能点参照:软件开发,小白变大佬,这套学习路线让你少走弯路是认真的,欢迎讨论 软件开发技能点顺序参照:Java学习…

“前缀和”专题篇一

目录 【模版】前缀和 【模版】二维前缀和 寻找数组的中心下标 除自身以外数组的乘积 【模版】前缀和 题目 思路 这道题如果使用暴力解法,即针对每次查询,先算出前r个数的总和,然后再算出前l-1个数的总和,然后相减就得出本次查…

2.类和对象(上)

1. 类的定义 1.1 类定义格式 • class为定义类的关键字,Stack为类的名字,{ }中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量; (类和结构体非常像&#…

12-利用Excel创建IC类元件库

1.新建excel文件 2.找到模型向导 3.修改属性

技术速递|.NET Aspire 8.1 中面向云原生开发人员的新增功能!

作者:Mitch Denny 排版:Alan Wang 5 月份,我们向全世界发布了 .NET Aspire 的第一个正式版本。.NET 社区的热烈响应令我们深受鼓舞,在大家首次试用时,我们一直在积极倾听并与开发人员互动。 今天,我们很高…

EF Core连接PostgreSQL数据库

PostgreSQL数据库介绍 PostgreSQL是一个功能强大的开源对象关系型数据库管理系统(RDBMS)。最初于1986年在加州大学伯克利分校的POSTGRES项目中诞生,PostgreSQL以其稳定性、灵活性和扩展性而著称。它支持丰富的数据类型、复杂的查询、事务完整…

C语言进阶(3)

1.数组传参 一维数组传参的时候使用数组名,代表数组首元素的地址;函数接受时形参可以是数组形式,也可能是指针形式,数组形式比较简单数组怎么写,函数接受是就怎么接受,使用指针就要将指针类型写清楚,如下 …

一文搞懂MES、ERP、SCM、WMS、APS、SCADA、PLM、QMS、CRM、EAM及其关系

MES、ERP、SCM、WMS、APS、SCADA、PLM、QMS、CRM、EAM各个系统到底是什么意思?今天一文就给大家分享! 在企业管理中,各种信息系统扮演着至关重要的角色,它们如同企业的神经系统,确保各个部分高效协同运作。 MES&#…

微信小程序项目开发【从0到1~入门篇】

创建第一个小程序 1、小程序简介2、第一个小程序:注册小程序开发账号3、第一个小程序:安装开发者工具3.1 了解微信开发者工具3.2下载安装3.3 扫描登录 4、创建小程序项目5、小程序代码的构成5.1json配置文件5.2WXML模板5.3WXSS样式5.4JS 逻辑交互 6、宿主…

HDMI线连接显示器后色彩灰暗问题解析与解决方案

随着科技的快速发展,HDMI线已成为连接电脑与显示器的重要工具。然而,当HDMI线连接显示器后,有时会遇到显示器色彩灰暗的问题。本文将针对这一问题进行深入解析,并提供相应的解决方案。 一、HDMI线连接显示器后色彩灰暗的原因 1. …

C++ SQL ORM

测试代码 // // Created by www on 2024/8/7. // #include "sqlitepp/database.h" #include "sqlitepp/condition.h"#include <iostream> using namespace sqlitepp; using namespace sqlitepp::literals;enum class test_enum {hello };void test…

Matplotlib | 绘制折线图

目录 简介安装 Matplotlib开始绘制简单折线图改变线的样式改变节点的样式添加图表文字改变坐标轴标签改变坐标数值范围绘制多条折线实践&#xff1a;绘制温度变化图 简介 折线图&#xff08;Line Chart&#xff09;&#xff0c;是一种以折线来呈现数据随时间变化而变化的图表。…

上翘机头设计确保了机器人在与杆子正面碰撞后,平稳从水平飞行状态重新调整为垂直飞行状态,进而用翅膀紧紧抱住杆子,实现稳定的栖息

带翼无人驾驶飞行器&#xff08;UAV&#xff09;因其出色的单位质量续航能力&#xff0c;特别适用于远距离任务&#xff0c;如送货、测绘和搜索救援。然而&#xff0c;与有翼飞行动物相比&#xff0c;它们在复杂结构上的着陆或栖息能力受限&#xff0c;难以执行检查、操作、监控…

for循环中的setTimeout的几种情况

for循环中的setTimeout的几种情况 在做js相关的题目时&#xff0c;经常会遇到以下几种容易混淆的setTimeout相关的题目&#xff1a; 第一种 for(var i0;i<10;i){setTimeout(console.log(i),0); }在这个代码片段中&#xff0c;setTimeout 的第一个参数是 console.log(i)&…