鸿蒙UI研发——组件的自适应拉伸

news/2025/10/6 17:22:51/文章来源:https://www.cnblogs.com/tlnshuju/p/19127759

鸿蒙UI研发——组件的自适应拉伸

2025-10-06 17:21  tlnshuju  阅读(0)  评论(0)    收藏  举报

1、概 述

针对常见的开发场景,ArkUI开发框架提供了非常多的自适应布局能力,这些布局可以独立使用,也可多种布局叠加使用。本文针对ArkUI提供的拉伸能力做简单讨论。

拉伸能力是指容器组件尺寸发生变化时,增加或减小的空间全部分配给容器组件内指定区域。效果类似如下:

图片

做过前端开发的朋友应该使用过Flex布局,这是一个非常常用的布局方式,类似的,ArkUI也提供了Flex布局,我们在ArkUI中,可以借助flexGrow和flexShrink属性可以方便地实现自适应拉伸能力。

2、Flex布局实现拉伸能力

拉伸能力通常通过Flex布局中的flexGrow和flexShrink属性实现,flexGrow和flexShrink属性常与flexBasis属性搭配使用,这三个属性介绍如下:

属性

类型

描述

flexGrow

number

默认为:0

仅当父容器宽度大于所有子组件宽度的总和时,该属性生效。配置了此属性的子组件,按照比例拉伸,分配父容器的多余空间。

flexShrink

number

默认为:1

仅当父容器宽度小于所有子组件宽度的总和时,该属性生效。配置了此属性的子组件,按照比例收缩,分配父容器的不足空间。

flexBasis

'auto' | Length

默认为:'auto'

设置组件在Flex容器中主轴方向上基准尺寸。

'auto'意味着使用组件原始的尺寸,不做修改。flexBasis属性不是必须的,通过width或height也可以达到同样的效果。当flexBasis属性与width或height发生冲突时,以flexBasis属性为准。

3、案 例

本示例中的页面由中间的内容区(包含一张图片)以及两侧的留白区组成,各区域的属性配置如下。

由上可知,父容器的基准尺寸是300vp(100vp+100vp+100vp)。我们可以通过拖动底部的滑动条改变父容器的尺寸,查看布局变化。

效果如下:

图片

代码如下(25、30、34行代码):

@Entry

4、one more thing..

如果我们期望将父容器的剩余空间全部分配给某空白区域时,也可以通过Blank组件实现。

??注意:

当仅当父组件为Row\Column\Flex组件时,Blank组件才会生效。

一个通过Blank实现拉伸效果的示例如下:

图片

代码如下(27行代码):​​​​​​​

@Entry

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

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

相关文章

网站建设常见问题解决方案wordpress主题手机版不显示侧边栏

这篇文章将详细介绍 如何在 stm32103 板子上点亮一个LED. 文章目录 前言一、开发环境搭建。二、LED 原理图解读三、什么是 GPIO四、cubeMX 配置工程五、解读 cubeMX 生成的代码六、延时函数七、控制引脚状态函数点亮 LED 八、GPIO 的工作模式九、为什么使用推挽输出驱动 LED总结…

网站备案查询 站长传奇手游发布网站

功能配置 一、用户 用户管理小黑屋用户反馈登录设置短信参数 二、作品 视频作品背景音乐库背景音乐分类 三、形象分身 上传记录视频要求参数配置 四、声音克隆 克隆记录参数配置声音要求文案示例 五、AI文案 生成记录创作模型模型分类Al配置 六、充值 充值订单积分套…

seo网站优化服务商html网站怎么做视频教程

高防服务器是一种专门用于防御DDoS(分布式拒绝服务)攻击的服务器。其中一种常见的DDoS攻击就是CC(连续性攻击),它通过向目标服务器发送大量的请求来耗尽服务器资源,使网站无法正常运行。高防服务器采用多种…

php网站开发结构弹窗视频网站

堆叠和IRF其实可以近似看成同一种技术,只是华三叫IRF,华为叫智能堆叠 智能堆叠(iStack):支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上变成一台交换设备,作为一个整体参与数据转发&…

网站开发老是弹广告vi手册

本文旨在以初学者的角度来学习Java异常的知识,尽量简单,一些细枝末节的知识不会讲述,但不影响对知识的掌握。(比如try-catch可以嵌套,不太会这么用)1.什么是异常我们先举个例子int 在IDE里输入这样一个stat…

南宁网站的优化seo整站优化哪家专业

Windows 7 OpenGL配置,解决“无法启动此程序,因为计算机中丢失glut32.dll。”转载于:https://www.cnblogs.com/yangai/p/6253332.html

怎么给网站添加代码只做鱼网站

1.php 不死马权限维持 <?php ignore_user_abort(); //关掉浏览器&#xff0c;PHP脚本也可以继续执行. set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去 $interval 5; // 每隔*秒运行 do { $filename test.php; if(file_exists($filename)) { echo…

什么叫静态网站seo网络培训

目录 报错信息 解决方法 报错信息 如下所示&#xff08;地址已盲&#xff09;&#xff1a; 控制台报错说找不到这些资源&#xff0c;但是 dist 目录下都有这些 JS 文件啊&#xff0c;这是为什么&#xff1f; 解决方法 在 Vue 项目的 vue.config.js 文件中&#xff0c;添加 …

丝绸之路网站平台建设网站底部 图标

近年来&#xff0c;很多人想要从其他行业跳槽转入计算机领域。非计算机科班如何丝滑转码&#xff1f; 如何规划才能实现转码&#xff1f; 对于非计算机科班的人来说&#xff0c;想要顺利转码成为计算机相关岗位的从业者&#xff0c;需要经过以下几个步骤&#xff1a; 规划转码…

网站建设如何选择宝安网站设计流程

场景还原 今天有小伙伴练习Nginx配置负载均衡时总是无法使用配置好的网址访问 配置文件信详情 http {# 负载均衡 后端IP地址和端口 webservers 策略 轮询upstream webservers{server 192.168.1.100:8080 weight90; server 127.0.0.1:8080 weight10; }server{listen 80;ser…

Java基础 Day28 完结篇 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:第三十三天打卡复习

实用指南:第三十三天打卡复习pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

实用指南:Hardening fixes lead to hard questions

实用指南:Hardening fixes lead to hard questionspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

赛前训练6 状压

A 简单树上差分. B 维护 \(d_{i,j}\) 表示人 \(i\) 在第 \(j\) 位与哪些人有区别.预处理即可. 对于每个人,枚举提问的二进制状态;对于提问的每个二进制位,将它们的 \(d\) 全部拼起来,若能拼成 ((1<<n)-1)^(1<…

排序综合

1、基础排序(cmp函数自定义排序) `struct Ren { int a;int b; }ren[1000010]; bool cmp(const Ren& i, const Ren& j) { if (i.zhi < j.zhi) { return true; } else { if (i.zhi == j.zhi) { if (i.ji &g…

Java从入门到精通 - 常用API(一) - 详解

Java从入门到精通 - 常用API(一) - 详解2025-10-06 16:50 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bloc…

NKOJ全TJ计划——NP11745

题目内容 最小割板子 小 E 有一棵有\(n\) 个点的无根树,它的节点编号为\(1\) 到\(n\) ,其中第\(i(i\in [1,n-1])\) 条边连接节点\(u_i\)和\(v_i\) 。同时他还有\(m\)条树上的路径,第\(i\)条路径为从节点\(a_i\)到\(…

InfinityFree教程 ——免费搭建属于你的网站

本文讲述了如何通过 "InfinityFree" 搭建免费的纯前端网站💖** InfinityFree 简介** InfinityFree是一个提供免费虚拟主机服务的平台,提供免费虚拟主机。每个账户可创建3个站点,支持自定义域名(需使用其…

深入解析:npm、yarn幽灵依赖问题

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

营销网站的案例分析wordpress用图床好还是

在快节奏的现代生活中&#xff0c;个人债务问题似乎已成为许多人不得不面对的挑战。正确处理个人债务&#xff0c;不仅关系到个人信用和财务状况&#xff0c;更是实现财务自由的重要一步。本文将为您提供一些实用的建议&#xff0c;帮助您优雅地解决个人债务问题&#xff0c;走…