王学岗鸿蒙开发(北向)——————(四、五、六)ArkUi声明式组件

在这里插入图片描述

在这里插入图片描述

普通组件

在这里插入图片描述
1,注意,如上图,build只能有一个根节点
2,@Entry表示程序的入口
@Component表示自定义的组件
@Preview表示可以预览
3,图片存放的地方
在这里插入图片描述
4,在这里插入图片描述
Image组件最好只给宽度,给了高度又给宽度容易失真。

build() {
    Row() {
      //图片不需要写后缀
      Image($r('app.media.icon'))
        .width(300) //宽有两种写法,1是数字,而是百分比
        .height('40%') //百分比要带引号
        .borderRadius(400) //圆角
        .objectFit(ImageFit.Fill)//填充
        .interpolation(ImageInterpolation.High)//设置差值效果,High可以使图片更清晰
        .onClick(()=>{
          //点击事件
          console.log("我是点击事件")
        })
        .onComplete()//图片加载成功回调函数
        .onError()//图片加载异常的时候回调

    }
    .backgroundColor('green')
    .height('100%')
  }

在这里插入图片描述
string资源要修改多处
在这里插入图片描述
在这里插入图片描述

     Text($r('app.string.module_desc'))
        .fontWeight(FontWeight.Bold)//fontWeight有两种写法
        // .fontWeight(400)//fontWeight这种写法,粗细默认是400,大于400就会加粗
    TextInput({
    //对象属性
         placeholder:'请输入用户名'
       }).width(400)

在这里插入图片描述
Button组件里可以增加Image组件。

在这里插入图片描述

容器组件

1,Row

    Row({space:30}){//space表示间隙
        Text('赵云')
        Text('马超')
        Text('张飞')
        Text('黄忠')
      }.backgroundColor('green')
      .width('100%')
      .height(200)
      .justifyContent(FlexAlign.Center)//主轴方向上如何布局
      .alignItems(VerticalAlign.Bottom)//交叉轴的对齐方式

Cloumn

.alignItems(HorizontalAlign.End)

Column主轴的布局
在这里插入图片描述
row主轴的布局

在这里插入图片描述
弹性布局组件
在这里插入图片描述

在这里插入图片描述
direction的取值有FlexDirection.Row、FlexDirection.RowReverse、FlexDirection.Column、FlexDirection.ColumnReverse
效果图如下

在这里插入图片描述
FlexWrap的取值有:FlexWrap.Wrap、FlexWrap.NoWrap、FlexWrap.WrapReverse
效果如下图,1 2 3的宽度都是’50%’
在这里插入图片描述
justifyContent与Column和Row相同
alignItemsFlex
如下图,三个高度不同的元素,取值分别是 ItemAlign.Auto,ItemAlign.Start,ItemAlign.Center,ItemAlign.End,ItemAlign.Stretch,ItemAlign.Baseline
在这里插入图片描述
alignContent
先看代码

在这里插入图片描述

在这里插入图片描述

进阶

Blank组件,类似于flutter的Spacer()填充空白区域

在这里插入图片描述

在这里插入图片描述

ForEach(
     item,
     (item:string)=>{
       Text(item)
     },
      //keyGenerator不要用默认的要自己定义,如何定义后面会更新,键生成函数,
      //为数组每一项生成一个唯一标识,组件是否重新渲染的判断标准
   )

arts中,数字等变量 非0非null为true

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
divider,List的分割线
onReachEnd:用来做上拉加载更多数据
在这里插入图片描述

在这里插入图片描述


offset的用法

在这里插入图片描述
order的用法

在这里插入图片描述
order值越大,排的越靠前,值的越小,排的越靠后
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
TabBar的Item可以做一个类,如下图
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文降痕指南:如何有效降低AIGC率

随着 AI 技术迅猛发展,各种AI辅助论文写作的工具层出不穷! 为了防止有人利用AI工具进行论文代写,在最新的学位法中已经明确规定“已经获得学位者,在获得该学位过程中如有人工智能代写等学术不端行为,经学位评定委员会…

使用 ESP32 和 PlatformIO (arduino框架)实现 Over-the-Air(OTA)固件更新

使用 ESP32 和 PlatformIO 实现 Over-the-Air(OTA)固件更新 摘要: 本文将介绍如何在 ESP32 上使用 PlatformIO 环境实现 OTA(Over-the-Air)固件更新。OTA 更新使得在设备部署在远程位置时,无需物理接触设…

Python 基于阿里云的OSS对象存储服务实现本地文件上云框架

Python 基于阿里云的OSS对象存储服务实现将文件上云框架 文章目录 Python 基于阿里云的OSS对象存储服务实现将文件上云框架一、前言二、阿里云配置1、获取用户AKEY和AKeySecret2、创建Bucket 三、Python 阿里云oss上云框架1、安装oss2依赖库2、阿里云oss python 一、前言 未来…

Mysql 中的case-when

什么是 case-when case-when 是一种 sql 语句中的语法结构,结构如下: case 字段名 when 值 then 字段名|值 ... else 字段名|值 end case when 主要用于数据的 行列转换(把一列数据转换为多列) 前置条件: -- 表…

基于统一二维电子气密度表达式的通用MIS-HEMT紧凑模型

来源:A Compact Model for Generic MIS-HEMTs Based on the Unified 2DEG Density Expression(TED 14年) 摘要 本文提出了一种针对二维电子气(ns)密度和费米能级(E_f)的解析表达式&#xff0c…

【Pytorch】计算机视觉项目——卷积神经网络TinyVGG模型图像分类(如何使用自定义数据集)

目录 一、前言二、工作流程回顾三、详细步骤流程1. 环境配置2. 数据准备数据集下载数据存储结构&路径查看图片 3. 数据转换4. 自定义数据集(Custom Dataset )4.1 方法一:使用ImageFolder加载数据集信息查看张量转图片创建DataLoader 4.2 …

使用Python创建Word文档

使用Python创建Word文档 安装python-docx库创建Word文档代码效果 在这篇文章中,我们将介绍如何使用 Python创建一个Word文档。首先,我们需要安装python-docx库,然后通过一段简单的代码示例展示如何创建和编辑Word文档。 安装python-docx库 …

【Linux】进程(9):进程控制1

大家好,我是苏貝,本篇博客带大家了解Linux进程(9)进程控制1,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1 fork函数2 进程终止(A)终止是…

设计模式-策略模式(行为型)

行为型-策略模式 了解策略模式 策略模式是一种行为型设计模式,在策略模式中定义了一系列算法或者策略,并将这些策略封装到独立的类中,使得可以相互替换。在使用时,可以指定响应的策略使用。 角色 策略接口:对于某种…

免费使用GPT-4生成图片的方法

写在前言 hello,大家好,我是一点,喜欢编程,目前持续在关注AI领域的发展,希望可以结交一些有意思的朋友。 大家可以关注我的公号:【一点sir】,了解更多文章,希望可以和你们成为朋友…

10 设备树

掌握设备树是 Linux 驱动开发人员必备的技能! 1、什么是设备树 新版本 Linux 中,ARM 相关的驱动全部采用了设备树。Linux-4.1.15 支持设备树。我们了解一下设备树的起源、重点学习一下设备树语法。 设备树:Device Tree,就是“设备”和“树”,描述设备树的文件叫做 DTS(…

Ubuntu硬盘分区、挂载、修改用户权限

使用命令查看硬盘情况 sudo fdisk -l 可以看到这里有个未分区的4T硬盘 如:sdb 这样的是硬盘 sdb1 sdb2 这样的是分区,现在还没分区 分区 sudo parted /dev/sdb (sdb 是要挂载的硬盘) 输入一下命令分区: mklabel gpt (创建分区表) mkpart p…

天工开物 #14 分析时序数据:从 InfluxQL 到 SQL 的演变

近年来,时序数据的增长是 Data Infra 领域一个不容忽视的趋势。这主要得益于万物互联带来的自然时序数据增长,以及软件应用上云和自身复杂化后的可观测性需求。前者可以认为是对联网设备的可观测性,而可观测性主要就建构在设备或应用不断上报…

172.二叉树:左叶子之和(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr, right(nullptr) {}* Tree…

深入理解C语言:main函数的奥秘

在C语言中,main函数是每个程序的入口点,起着至关重要的作用。本文将深入探讨main函数的工作原理,包括其参数、返回值、以及如何从main启动程序的执行。通过实际代码示例,读者将更深入地理解main函数在C语言编程中的核心地位。 第一…

APP单页分发源码下载安卓苹果自动识别apk描述文件免签自动安装

下载地址:APP单页分发源码下载安卓苹果自动识别apk描述文件免签自动安装

Ubuntu虚拟机使用纯命令行对根分区进行扩展

Ubuntu虚拟机使用纯命令行对根分区进行扩展 前排提示 因为Ubuntu再安装时,根分区是没有使用LVM进行磁盘管理的,所以如果想扩展根分区,我们不得不使用另外一种暴力的方法。简单来说就是利用fdisk删除原来的根分区再基于原来的起始块号重新建…

使用C++结合OpenCV进行图像处理与分类

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三…

LabVIEW与PLC的区别

LabVIEW和PLC是工业自动化领域中常见的两种控制和测控方案,各自有独特的优点和适用场景。本文将从多角度比较两者,帮助用户在选择控制系统时做出更明智的决策。 技术背景 LabVIEW LabVIEW是由National Instruments公司开发的图形化编程环境&#xff0…

C# 界面控件中英切换

编程软件:VS 2015 需求:界面有两个按钮,点击可以将界面上所有控件进行不同语言的切换。 一共两种方案,个人认为第二种方案使用范围更广(这里以中英文切换为例)。 方案一:如图所示,建立两个资源文件 将所需控件的中英…