【鸿蒙开发从0到1 day09】

鸿蒙开发基础-ArkUI基本布局

  • 一 .设计资源-图标库
      • 1.阿里矢量图图标库
      • 2.HarmonyOS图标库
  • 二.布局属性
      • 1.内边距
      • 2.外边距
      • 3.边框线
      • 4.边框圆角
  • 三.背景属性
      • 1.背景颜色
      • 2.背景图片
        • (1)背景图的缩放
        • (2)背景图的显示位置
  • 四.颜色渐变
      • 1.线性渐变
      • 2.径向渐变
  • 五.阴影
  • 六.可选择链操作符(?)
  • 七.总结

一 .设计资源-图标库

HarmonyOS图标库为 HarmonyOS 开发者提供丰富的在线图标资源,涵盖多种使用场景以及风格分类,提供灵活的颜色、大小和格式定义,满足不同角色的下载需求

  • 使用步骡∶设计师提供图标/下载图标→使用图标
  • 我们一般下载都要下载svg格式的图标,因为这种图标放大后不会失真,而且可以改变颜色
  • 下载地址

1.阿里矢量图图标库

阿里矢量图图标库

2.HarmonyOS图标库

HarmonyOS图标库

  • 进入图标库网站,下载 SVG 格式,存储到工程目录:resources/base/media/
    *
  • HarmonyOS 图标默认命名以 ic_ 开头,其他图标库下载的图标素材建议修改为与 HarmonyOS 命名规则相同。
  • svg的图标可以使用fillcolor来设置颜色

在这里插入图片描述

二.布局属性

在这里插入图片描述

  • 作用:在组件内添加间距,拉开内容与组件边缘之间的距离

1.内边距

作用:拉开内容和组件边缘的间距

  • 一个取值,四周设置相同的内边距
  • 传入对象,可以给每个方向传入不同的内边距(top,bottom,left,right)
    在这里插入图片描述

2.外边距

作用:在组件外面添加间距,拉开两个组件之间的距离
属性:margin
属性:数字 或 对象{}
● 数字:上下左右边外距相同
● 对象{}:配合 left、right、top、bottom 单独设置某个方向外边距
在这里插入图片描述

3.边框线

属性:border()
参数:{width?: 数字, color?: ‘’, style?: BorderStyle},
● width:边框宽度,边框宽度默认值为0,即不显示边框
● color:边框颜色
● style:边框样式,BorderStyle为枚举类型
○ Solid:实线(默认)
○ Dashed:虚线
○ Dotted:点线
在这里插入图片描述
ps:边框线粗细,颜色,样式可以给每个方向设置不同的,只需要给属性值传入对象,通过方位词设置对应的值,(left,top,bottom,right)
在这里插入图片描述

4.边框圆角

属性:borderRadius(圆角半径)
参数:数值 或 { }
● topLeft:左上角
● topRight:右上角
● bottomLeft:左下角
● bottomRight:右下角
在这里插入图片描述

三.背景属性

在这里插入图片描述

1.背景颜色

backgroundColor()

  • 枚举取值 Color.颜色 例:Color.Pink
  • 十六进制表示法 例:#ffffff
  • rgba表示法 例: rgba(0,0,0,透明度)颜色取值0~255
  • 在设置背景色的时候,组件必须有宽度或者内容,背景色才能展现
    在这里插入图片描述

2.背景图片

backgroundImage(背景图片地址,背景平铺方式)
背景图平铺方式:(可省略)
● NoRepeat:不平铺,默认值
● X:水平平铺
● Y:垂直平铺
● XY:水平垂直均平铺
在这里插入图片描述

(1)背景图的缩放

backgroundImageSize()
作用:背景图缩放
属性:backgroundImageSize
参数:
● 设置背景图宽高尺寸:{width: 数值, height: 数值}(只设置宽或高,另一个尺寸等比例缩放)
● 枚举 ImageSize:
○ Cover:等比例缩放背景图至图片完全覆盖组件范围,图片部分可能会超出组件
○ Contain:等比例缩放背景图,当宽或高与组件尺寸相同则停止缩放,组件可能会有留白的情况
○ Auto:默认,原图尺寸
在这里插入图片描述

(2)背景图的显示位置

作用:调整背景图在组件内的显示位置,默认显示位置为组件左上角
属性:backgroundImagePosition()
参数:
● 位置坐标: {x: 位置, y: 位置}
● 枚举 Alignment
在这里插入图片描述

四.颜色渐变

作用:设置组件颜色渐变效果
分类:线性渐变 和 径向渐变

1.线性渐变

属性: linearGradienrt()

● angle:线性渐变的起始角度。0点方向顺时针旋转为正向角度,默认值:180
● direction: 线性渐变的方向,设置 angle 后不生效,值为 枚举类型 GradientDirection
○ Left:从右向左
○ Top:从下向上
○ Right:从左向右
○ Bottom:从上向下
○ LeftTop:从右下 到 左上
○ LeftBottom:从右上 到 左下
○ RightTop:从左下 到 右上
○ RightBottom:从左上 到 右下
在这里插入图片描述

2.径向渐变

属性:radialGradient()

  • center: 径向渐变的中心点坐标,
  • radius: 径向渐变的半径,
  • colors: [[颜色1, 颜色1所处位置], [颜色2, 颜色2所处位置], …],
  • repeating?: 是否重复着色
    在这里插入图片描述

五.阴影

作用:为组件添加阴影效果
属性:shadow()
参数:{}
参数写法
{
radius: 模糊半径,
type?: 阴影类型,
color: 阴影颜色,
offsetX?: X轴偏移,
offsetY?: Y轴偏移,
fill?: 是否内部填充
}
在这里插入图片描述

六.可选择链操作符(?)

就是我们在创建对象前创建的接口,如果接口属性需要根据情况去选择填和不填,那么我们就可以在属性名的后面加一个?,这样在创建对象的时候就可以选择不写这个属性,不会强行要求必填
在这里插入图片描述

七.总结

本章主要学习了ArkUI中的布局属性,内外边距,边框及边框圆角,背景属性包含背景颜色,背景图片,颜色渐变中的线性渐变和径向渐变,以及阴影效果的设置,最后还解释了我们传入对象时候,为什么有些属性可以选填

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

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

相关文章

如何更改磁盘卷标名称?

磁盘卷标(Volume Label)是用来标识和管理磁盘驱动器的名称,通常在文件资源管理器中显示。卷标有助于用户快速识别和区分不同的磁盘或分区。 为什么要更改磁盘卷标名称? 磁盘卷标作为磁盘的名字,可以帮助用户更容易地识…

通过C# 裁剪PDF页面

在处理PDF文档时,有时需要精确地裁剪页面以适应特定需求,比如去除广告、背景信息或者仅仅是为了简化文档内容。 本文将指导如何使用免费.NET控件通过C#实现裁剪PDF页面。 免费库 Free Spire.PDF for .NET 支持在 .NET (C#, VB.NET, ASP.NET, .NET Core)…

【特点】浅谈大模型的特点

在人工智能(AI)的发展历程中,大模型无疑是一个重要的里程碑。大模型是指利用海量数据,通过先进的算法和技术,训练得到的具有强大预测和决策能力的模型,这类模型具备了强大的语言理解和生成能力,能够完成各种复杂的自然…

搬运5款冷门但值得下载的PC软件

​ 分享5款冷门但值得下载的Windows软件,个个都很实用,你可能一个都没见过,但是我觉得你用过之后可能就再也离不开了。 1. 图片管理——Picasa ​ Picasa 是一款由谷歌开发的图片管理和编辑软件,能够帮助用户轻松地组织、编辑和…

电子邮件加密软件哪个好用?分享这五款加密工具,防范邮件泄密!2024企业必备!

"密语藏锋刃,安全重于山。" 在数字洪流中,电子邮件是企业沟通的重要桥梁,其安全性不容忽视。 因此,选择一款高效可靠的电子邮件加密软件,是企业保障信息安全的关键。 本文将为您推荐五款2024年企业必备的电…

基于SpringBoot+Vue+MySQL的垃圾分类回收管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的…

Uniapp + Vite + Vue3 + uView + Pinia 实现自定义底部 Tabbar(最新保姆级教程)

Uniapp Vite Vue3 uView Pinia 实现自定义底部 Tabbar(最新保姆级教程) 1、效果展示2、环境准备2.1 新建 uniapp 项目2.2. 安装 uView2.3 安装 pinia 3. 配置环境4. 创建目录结构5、编写 pages.json 页面路由6、编写 tabbar.js 状态数据7、编写 tabb…

软件测试之压力测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 压力测试 压力测试是一种软件测试,用于验证软件应用程序的稳定性和可靠性。压力测试的目标是在极其沉重的负载条件下测量软件的健壮性和错误处理能力&…

日本IT工作内容---一篇梗概

日本IT工作现场是一个充满活力、技术导向且多元化的工作环境。以下是对日本IT工作内容的详细概述: 1. 软件开发(Software Engineering, SE) 主要任务:编写、测试和维护软件,以满足客户需求。这包括使用多种编程语言和…

HCIP--<OSPF2>

目录 一,OSPF的不规则区域 1)远离骨干区域的非骨干区域 2)不连续骨干区域(和上面一样) 二,OSPF数据库表 三。优化OSPF的LSA(缺少LSA的更新量) [1]手工汇总:减少骨干区域的LSA [2]特殊区域&…

编程新纪元:AI如何成为你的编程伙伴

随着人工智能技术的不断进步,我们正步入一个编程的新纪元。在这个时代,AI不仅仅是一个工具,更是程序员的伙伴。它通过提供智能辅助、自动化编码和增强开发效率,正在改变我们编写和理解代码的方式。本文将探讨AI如何成为程序员的得…

【关爱多系统萎缩患者】必知!这些维生素是健康守护神

亲爱的朋友们,今天我们来聊聊一个需要更多社会关爱与理解的群体——多系统萎缩(MSA)患者。面对这一复杂而罕见的疾病,科学合理的饮食调整,尤其是维生素的补充,显得尤为重要。让我们一起成为他们健康路上的温…

深入CSS 布局——WEB开发系列29

CSS 页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置。 一、正常布局流(Normal Flow) CSS的布局基础是“正常流”,也就是页面元素在没有特别指定布局方式时的默认排列…

P5734 【深基6.例6】文字处理软件

1. string的函数 #include <bits/stdc.h> using namespace std; int main() {int n,m; cin >> n;string s, a, b, c;cin >> s;for (int i 0; i < n; i) {cin >> m;if (m 1) {cin >> a;s a;cout << s << endl;}if (m 2) {int …

自然语言处理系列六十三》神经网络算法》LSTM长短期记忆神经网络算法

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十三神经网络算法》LSTM长短期记忆神经网络算…

Windows一键安装Mysql数据库|非官方复杂安装,解压即可,操作简单

我们都知道在官方安装mysql数据库极其复杂&#xff0c;还极大概率遇到各种问题&#xff0c;今天教大家只要解压就可安装完数据库&#xff0c;操作及其简单绿色。 版本包括了mysql8或mysql5&#xff0c;各位各取所需即可。 不管你之前是否安装过数据库&#xff0c;只要端口330…

Java代码审计篇 | ofcms系统审计思路讲解 - 篇3 | 文件上传漏洞审计

文章目录 0. 前言1. 文件上传代码审计【有1处】1.1 可疑点1【无漏洞】1.1.1 直接搜索upload关键字1.1.2 选择第一个&#xff0c;点进去分析一下1.1.3 分析this.getFile()方法1.1.4 分析new MultipartRequest(request, uploadPath)1.1.5 分析isSafeFile()方法1.1.6 分析request.…

一款rust语言AI神器cursor在ubuntu环境下的安装启动教程

虽然cursor目前只支持英文但是它强大的代码联想能力以及问答能力&#xff0c;可以高效的提高编码效率。 如下步骤所有的前提是你的ubuntu上面已经安装了rust以及其必须的extensions。 1 下载 到官网https://www.cursor.com下载指定版本的软件。 下载到本地以后会生成如下软件…

Spring Cloud之二 微服务注册

1&#xff1a;Intellij 新建服务 user-service 2&#xff1a;pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"…

electron有关mac构建

针对 Mac M1/2/3 芯片的设备&#xff0c;proces.archarm64. 执行下面命令&#xff0c;检查下按照的 node.js 版本是不是 intel x64 指令集&#xff0c;如果是的话安装下 arm64 指令集的 node.js终端中执行以下命令&#xff1a;node -p process.arch 对应的node版本也是arm版 …