当前位置: 首页 > news >正文

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

个人主页→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.lryc.cn/news/417229.html

相关文章:

  • Sparksql array相关函数
  • 软件测试学习笔记
  • Centos 8系统ext4文件系统类型进行扩容缩容 (LVM)
  • 常考常考高频率
  • Linux项目环境的搭建 (Red hat 9.0Linux操作系统)
  • Study--Oracle-08-ORACLE数据备份与恢复(一)
  • FreeIPA安装
  • mysql数据库:SQL语言基础和基本查询
  • strimzi operator 部署kafka集群(可外部访问)
  • 【网络安全】探索AI 聊天机器人工作流程实现RCE
  • 虚拟DOM、Vue渲染流程
  • centos7 启动python后端服务与停止服务的sh脚本
  • 访问网站显示不安全怎么办?
  • Scala与集合框架:高效数据处理的利器
  • 基于 JWT 的模拟登录爬取实战
  • 力扣(2024.08.06)
  • 如何快速入门 PyTorch ?
  • Qt 快速部署环境(windeployqt.exe)
  • 白骑士的PyCharm教学实战项目篇 4.2 数据分析与可视化
  • el-form-item,label在上方显示,输入框在下方展示
  • Centos7.9操作系统kdump crash文件vmcore未生成问题
  • 找不到符号 javax.servlet.WriteListener
  • 智能仪表板DevExpress Dashboard v24.1 - 新增级联参数过滤
  • 计算机网络-CSP初赛知识点整理
  • MySQL第1讲--详细安装教程和启动方法
  • SQL创建数据表的一些语句
  • Spring Boot实战:拦截器
  • <数据集>战斗机识别数据集<目标检测>
  • 【python】Python中位运算算法详细解析与应用实战
  • vba 保存word里面的图片_1分钟批量处理100张图片,有Word在