鸿蒙界面开发

HarmonyOS Next开发学习手册——窗口管理 窗口模块用于在同一块物理屏幕上,提供多个应用界面显示、交互的机制。对应用开发者而言,窗口模块提供了界面显示和交互能力。对终端用户而言,窗口模块提供了控制应用界面的方式。对整个操作系统而言,窗口模块提供了不同应用界面的组织管理逻辑。设置应用主窗口属性及目标页面设置应用子窗口属性及目标页面体验窗口沉浸式能力设置悬浮窗监听窗口不可交互与可交互事件以下分别介绍具体开发方式。 阅读详情

鸿蒙界面开发

鸿蒙开发环境准备

开发工具下载 HarmonyOS 官网 → 一探究竟 → DevEco Studio 下载

地址:https://developer.huawei.com/consumer/cn/

ArkTS 基础快速入门

ArkTS:是一门用于开发鸿蒙应用的编程语言。

编程语言:用来控制计算机工作的,可以告诉计算机我们要做的事情。

console.log(‘我说’, ‘Hello World’)

认识数据

编程语言的核心是处理 数据 三种常见的基础数据类型:

① string 字符串:描述信息

② number 数字:计算

③ boolean 布尔:判断 (真、假)

存储数据(变量、常量)

变量:专门用来存储数据的容器

let title: string

// let 变量名: 类型 = 值
let title: string = '加油,一起努力学习鸿蒙'
let price: number = 2.27
let isSelect: boolean = true

常量:用来存储数据 (不可变)

变量常量的注意事项(命名规则):

① 只能包含数字、字母、下划线、$,不能以数字开头

② 不能使用内置关键字或保留字 (比如 let、const)

③ 严格区分大小写

const 常量名: 类型 = 值
const PI: number = 3.1415926

常量不能修改

数组

数组:是一个容器,可以存储多个数据

let 数组名: 类型[] = [数据1, 数据2,...]
let names: string[] = ['小红', '小明', '大强'

注意:数组指定的类型和存储的数据类型要必须一致,否则会报错

获得数组元素: 数组名[索引]

let names: string[] = ['小红', '小明', '大强']
获得数组元素: 数组名[索引]
console.log('取出小明', names[1])

注意:索引号是从 0 开始的

‍

1.如何将多个数据一次性存储到数组?

Ø let 数组名: 类型[] = [数据 1, 数据 2, 数据 3…]

2.如何取出数组某个元素的数据?

Ø 数组名[索引]

3.数组指定的类型和存储的数据类型不一致为发生什么?

Ø 会报错

index.ets let names: string[] = ['小红', '小明', '大强'] 

console.log('取出小明', names[1])

函数 - Function

函数:是可以被重复使用的代码块

作用: 函数可以把具有相同或相似逻辑的代码“包裹”起来,有利于代码复用。

函数基本使用

  1. 定义函数
function 函数名(){
	函数体
}
  1. 调用函数
函数名()

注意:先定义,后使用(变量、函数都是如此)

//实现重复三次输出5行五角星
function fn () {
console.log('五角星', '☆')
console.log('五角星', '☆☆')
console.log('五角星', '☆☆☆')
console.log('五角星', '☆☆☆☆')
console.log('五角星', '☆☆☆☆☆')
}
fn() // 第一次输出 5行五角星 
fn() // 第二次输出 5行五角星
fn() // 第三次输出 5行五角星

函数的完整用法

根据我们传入不同的数据,进行处理,返回处理后的结果。
在这里插入图片描述
​

function 函数名(形参1:类型, 形参2:类型 ...) {
编写代码对数据进行处理
return 处理后的结果
}

let 变量名: 类型 = 函数名(实参1, 实参2, ..)

注意:形参和实参个数要一致

箭头函数

箭头函数是比普通函数更简洁的一种函数写法

let 函数名 = (形参1: 类型, 形参2: 类型) => {
// 函数体
 // 1. 计算过程
 // 2. 返回结果
 return 计算的结果
}

函数名(实参1, 实参2)
//写一个buy函数,计算购买的总价 = 价格 * 数量
let buy = (price: number, weight: number) => {
let result: number = price * weight
return result
}

let apple: number = buy(2, 3)

普通函数和箭头函数,在后面开发中会有不同的使用场景, 所以两种语法都需要掌握。

‍

对象

作用:用于描述一个物体的特征和行为。

对象:是一个可以储存多个数据的容器。

对象 - 定义和说明

  1. 通过 interface 接口约定 对象结构类型
interface 接口名 {
	属性1: 类型1
	属性2: 类型2
	属性3: 类型3
}

interface person {
	name: string
	age: number
	weight:number
}
  1. 定义对象并使用 (通过 . 访问)
let person: Person = {
name: '靓仔斌',
age: 18,
weight: 130
}

console.log('名字', person.name)
console.log('年纪', person.age)
console.log('体重', person.weight)

总结

  1. 对象是什么?作用是什么?

    是一个容器,可以保存不同类型数据 可以用来描述物体特征和行为。

    1. 如何定义对象?

    先定义接口,再基于接口约定对象结构类型,定义对象

    interface person {
    	name: string
    	age: number
    	weight:number
    }
    
    let person: Person = {
    name: '靓仔斌',
    age: 18,
    weight: 130
    }
    
  2. 如果访问对象属性?

    对象.属性名

    console.log('名字', person.name)
    

‍

对象 - 方法

方法作用:描述对象的具体行为

  1. 约定方法类型
interface 接口名称 {
方法名: (参数:类型) => 返回值类型
}
interface Person{
dance: () => void
sing: (song: string) => void
}
  1. 添加方法(箭头函数)
let ym: Person = { 
	dance: () => {
	  conslose.log('我来跳个舞')
	},
	sing: (song: string) => {
	  console.log('杨幂说', '我来唱首', song)
	}
}
ym.dance()
ym.sing('爱的供养')
  1. 如何在对象里面添加方法?

    约定方法类型 → 添加方法(箭头函数)

    1. 如何调用对象方法?

    对象名.方法名(实参)

‍

‍

联合类型

联合类型是一种灵活的数据类型,它修饰的变量可以存储不同类型的数据。

语法:let 变量: 类型 1 | 类型 2 | 类型 3 = 值

  1. 如何让变量,可以存储多种类型的数据?

    联合类型:是由多个类型联合组合成的数据类型。

    let judge: number | string = 100
    judge = 'A'
    
  2. 如何把变量值限定在一组数据范围内选择?

    let gender: 'man' | 'woman' | 'secret'
    

枚举类型

枚举类型是一种特殊的数据类型,约定变量 只能在一组数据范围内选择值。
在这里插入图片描述
​

  1. 定义枚举类型(常量列表)

    enum 枚举名 {
    	常量1 = 值,
    	常量2 = 值,
    	......
    }
    enum ThemeColor {
    	Red = '#ff0f29',
    	Orange = '#ff7100',
    	Green = '#30b30e'
    }
    
  2. 使用枚举类型,约束变量

    let color: ThemeColor = ThemeColor.Red
    console.log('主页颜色', color)
    

取值从枚举中(常量列表中)取

  1. 枚举类型有什么特点?

    枚举是一种特殊的数据类型 约定变量也只能在一组数据范围内选择,提高可维护性

    1. 枚举类型怎么使用?

    声明枚举类型 → 使用枚举数据

界面开发起步

开发工具:仍然是 DevEco Studio

学习界面开发:build 里面写代码,预览器 看效果

界面开发-布局思路

ArkUI(方舟开发框架)是一套 构建 鸿蒙应用 界面 的框架。

构建页面的最小单位就是 “组件”。

组件分类:

① 基础组件:界面呈现的基础元素。

 如:文字、图片、按钮等。
基础组件(参数)

② 容器组件:控制布局排布。

如:Row 行、Column 列等。
容器组件() {
// 内容
}

布局思路:先排版,再放内容。

注意:build有且只能有一个根元素,且是容器组件

build() {
	Column () {
		Text('小说简介')
		Row () {
			Text('都市')
			Text('生活')
			Text('情感')
			Text('男频')
		}
	}
}

组件的属性方法

需求:美化组件外观效果 → 组件的属性方法
在这里插入图片描述

组件() {}
	.属性方法1(参数)
	.属性方法2(参数)
	.属性方法3(参数)
	……
Text('小说简介')
	.height(40)
	.fontSize(20)
	 ……

字体颜色

  1. 设置文字的颜色?

    fontColor(颜色值) 色值是通用的

  2. 色值写法?

    Text('小说简介')
    	.fontColor(Color.Orange)
    	.fontColor('#8fbce7')
    
    颜色值说明具体演示
    枚举颜色 Color.颜色名Color.Red、Color.Pink
    ② #开头的16进制‘#8fbce7’ 【设计图会标注
  3. 构建界面思路:排版 → 内容 → 美化

文字溢出省略号、行高

  1. 文字溢出省略 (设置文本超长时的显示方式)

    语法:.textOverflow({ overflow: TextOverflow.XXX })

    注意:需要配合 .maxLines(行数) 使用

    1. 行高

    语法:.lineHeight(数字)

Text('方舟...')
	.textOverflow({
	overflow: TextOverflow.Ellipsis
  })
 .maxLines(2)
 .lineHeight(30)

总结

1、设置文字溢出省略号 ?

① .textOverflow({ overflow: TextOverflow.Ellipsis })

② .maxLines(数字) 控制最大行数

2、设置行高?

.lineHeight(数字)

‍

Image 图片组件

Image 图片组件 作用:界面中展示图片

语法:Image(图片数据源) 支持 网络图片资源 和 本地图片资源

① 网络图片

Image(‘https://www.itheima.com/images/logo.png’)

② 本地图片

Image( $r(‘app.media.文件名’) )

输入框 与 按钮

需求:实现登录或注册的排版 → 输入框 和 按钮组件

TextInput(参数) 
	.属性方法()
Button('按钮文本')
  1. 参数:placeholder 提示文本

    TextInput({ 
    	placeholder: '占位符文本' 
    })
    
  2. 属性:type(InputType.xxx) 设置输入框 type 类型

    type 值解释说明
    ① Normal基本输入模式,无特殊限制
    ② Password密码输入模式

如何调整组件之间的距离?

给外层容器组件加 { space: 数字 }

Column({ space: 20})  {...}

‍

HarmonyOS NEXT应用开发—Lottie,HarmonyOS鸿蒙注册登录界面设计 |—LottieView.ets // 视图层-应用主页面。lottieview // har类型。(img-nO9r8eJ3-1713292672040)]本实例依赖common模块来实现。来实现页面的动态加载以及。4.鸿蒙开发系统底层方向。1.项目开发必备面试题。5.鸿蒙音视频开发方向。,版本为2.0.0。6.鸿蒙车载开发方向。7.鸿蒙南向开发方向。 阅读详情

相关推荐

鸿蒙(HarmonyOS)应用开发指南

鸿蒙应用开发框架是鸿蒙系统提供的一套开发工具和框架,用于帮助开发者快速构建鸿蒙应用。它提供了一系列的 API 和组件,使开发者可以方便地进行应用的开发、测试和发布。鸿蒙应用开发框架支持多种开发语言,包括 Java、C++、JavaScript、ArkTS 等,开发者可以根据自己的需求选择合适的开发语言进行开发。ArkTS 是 HarmonyOS 优选的主力应用开发语言,在 TS 基础上发展而来。

m0_70749039的博客 1万+

基于鸿蒙的UI开发

基于鸿蒙的UI开发

举个栗子的博客 4131

DeepLearning tutorial(7)深度学习框架Keras的使用-进阶

上一篇文章总结了Keras的基本使用方法,相信用过的同学都会觉得不可思议,太简洁了。十多天前,我在github上发现这个框架的时候,关注Keras的人还比较少,这两天无论是github还是微薄,都看到越来越多的人关注和使用Keras。所以这篇文章就简单地再介绍一下Keras的使用,方便各位入门。主要包括以下三个内容: 训练CNN并保存训练好的模型。 将CNN用于特征提取,用提取出来的特征训练SVM。

wepon的专栏 2万+

鸿蒙 HarmonyOS学习日记 Day 2 界面开发、布局

【代码】鸿蒙 HarmonyOS学习日记 Day 2 界面开发、布局。

Lin_Zhong_的博客 1413

Appstore 3.2(f)违规自救指南:从触发到申诉的完整应对策略

本文详细解析了Appstore 3.2(f)违规的应对策略,从触发原因到申诉流程,帮助开发者有效自救。文章涵盖隐瞒行为、账户关联和信息造假三大违规场景的判定逻辑,并提供申诉信写作的黄金法则和长期合规防御措施,确保开发者能够顺利通过苹果审核。

weixin_29304985的博客 657

SPMI、PMBus、AVSBus:三大电源管理总线对比与选型指南

在现代电子系统中,电源管理是确保高性能与低功耗平衡的核心技术。其原理在于通过数字通信协议,实现电源管理单元(PMIC)与用电芯片间的精准“对话”,从而动态调整供电。这项技术的核心价值在于提升系统能效、增强可靠性并简化设计。其应用场景广泛,从智能手机、服务器到汽车电子无处不在。具体实现上,衍生出了三大主流协议:为移动嵌入式高度集成的SPMI总线、专注于工业标准监控的PMBus总线,以及追求极致实时能效的AVSBus总线。理解SPMI在复杂时序控制与PMBus在标准化配置方面的异同,是进行电源架构选型与调试的关

ithome 447

【鸿蒙next开发】ArkUI框架:UI界面-@ohos.arkui.componentUtils (componentUtils)

提供获取组件绘制区域坐标和大小的能力。

m0_73088370的博客 687

Emuelec系统安装全流程:超详细版指南(从零开始)

手把手带你完成emuelec系统的完整安装,从基础准备到系统配置一步不落,适合新手入门。深入解析emuelec在各类设备上的部署技巧,让复古游戏体验更流畅。

weixin_42594419的博客 1966

鸿蒙系统,鸿蒙app简易登录界面,界面开发教程

鸿蒙系统,鸿蒙app简易登录界面,界面开发教程。 // 这个是主Ability public class MainAbilitySlice extends AbilitySlice { @Override public void onStart(Intent intent) { super.onStart(intent); //将界面展示出来 super.setUIContent(ResourceTable.Layout_dy_main);

qq_15038701的博客 5300

HR效率翻倍!用Dify+飞书AI表格打造自动化简历处理流水线(附完整代码)

本文详细介绍了如何利用Dify工作流和飞书多维表格构建自动化简历处理系统,实现简历上传、AI智能解析与结构化数据入库的全流程自动化。通过整合大语言模型进行信息抽取,该系统能显著提升HR处理简历的效率与准确性,将HR从重复劳动中解放出来。

1a2s3d4f5g的博客 1023

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java 小博是新城小学二年级学生,这孩子人很老实,数学、语文成绩都是中等。不过一旦坐在电脑前,写起代码来,则有些霸气侧漏,尤其擅长各种暴力方法。本题就是数学莫老师的题目之一,请你和小博一起暴力求解吧。 输入格式: 第一行给出这个和N(图中例子的和N为2000)。 输出格式: 第一行输出所有解的数目K,随后K行按照DCBA 4位数字从...

qryzhfj的博客 2187

从零开始搭建华为鸿蒙APP软件登录界面开发

从零开始搭建华为鸿蒙APP软件登录界面开发

haiyangmeng的博客 1281

k3s cpu load 和 cpu 使用率很高处理

在这期间还执行过缩减 sqlite3 数据库操作,不知道是哪个操作起了作用,亦或者两个操作有影响,删除 ns 促进了数据库缩减的执行(没删除之前数据库缩减不成功,db文件大小未减小,但不确定是不是执行完 VACUUM 之后需要时间 db 文件才会减小,或者是因为删除了 ns 才导致其减小),再或者是两个操作都起了作用。kubectl get ns 发现有很多卡在删除状态的 ns。k3s 官网关于这个问题的谈论。执行如下脚本删除掉这些 ns。有人详细说过这个问题。

weixin_40548182的博客 682

鸿蒙应用开发 | 曝光一个 使用鸿蒙系统 开发的 知乎登录界面

导语:大家好,我是你们的朋友 朋哥,今天来一个页面的实战,之前讲了几个组件和布局,所以今天来一个登录页面的开发。 上一篇原创文章解读了鸿蒙应用开发 | 按钮(Button)组件 的功能与用法。 老规矩 看完练习一下,不联系理解不到位。 今天不讲新东西,把之前学习的东西总结一下,实战一下,今天来开发一个知乎的登录界面。 下面我们开始今天的文章,还是老规矩,通过如下几点来说: 1,用到的组件 2,代码讲解 3,效果 用到的组件 看看上面的效果。一个完整的登录界面,后面...

1305

手把手教你学 MATLAB 实战训练(6.9):卷积神经网络(CNN)模型来进行图像分类任务(预训练的 ResNet-50 模型)

加载数据集数据预处理加载预训练模型修改和扩展预训练模型设置训练选项训练模型测试模型。

xiaoheshang_123的博客 646

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

鸿蒙系统重大缺陷,华为鸿蒙6月份规模化推送?部分用户已经体验,全新的简洁风...

众所周知,华为鸿蒙系统自从推出之后,很多用户都等着鸿蒙系统上新,而随着时间的推移,华为鸿蒙系统逐渐揭开了神秘面纱。目前,部分用户已经收到了HarmonyOS 2.0开发者beta版的推送,不少小伙伴已经尝鲜了。 根据网上的回馈,体验过公测版本的用户表示鸿蒙系统超级顺滑,体验感也很好。网上知名博主@极客村长也针对鸿蒙OS系统界面录制了视频,向消费者展示该系统优势。我们从该博主发布的视频能够看到,鸿蒙...

weixin_28820911的博客 209

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

华为鸿蒙嵌入式 UI 扩展组件:跨越界限的舞台

本文旨在深入探讨华为鸿蒙HarmonyOS Next系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在华为鸿蒙系统的舞台上,UIAbility 组件是主角,负责与用户进行交互,而嵌入式 UI 扩展组件则是舞台上的配角,负责扩展应用的功能,并实现跨越进程界限的界面嵌入,为用户带来更加丰富和便捷的交互体验。

same4869的博客 1187

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

鸿蒙系统下载地址_华为鸿蒙系统下载

华为鸿蒙系统下载,这是一款非常好用的华为新系统,未来可以实现万物互联,目前官方邀请内测中,华为鸿蒙系统介绍这是一款非常不错的华为服务新平台,让你可以更好的感受便捷的安装服务,华为鸿蒙系统功能华为鸿蒙系统英文名为HarmonyOS,简称HMOS,它是一款由华为自主开发的操作系统,华为鸿蒙os系统将把手机、pc、电视、汽车等各种智能设备打通,兼容所有安卓应用的web应用,整体拥有更好的流畅性体验,界面...

weixin_42470359的博客 902

ui uview 安卓开发_鸿蒙系统和安卓系统有何不同?华为P40升级后界面曝光

华为鸿蒙系统首个手机bate版本今天终于正式发布,首批支持升级鸿蒙系统的华为手机为Mate30和P40系列总共6款。其它手机只要升级到EMUI11或后续确定能够升级到EMUI11的,之后都能切换到鸿蒙系统。所以非Mate30和P40系列的华为手机用户别急当然也有不少对鸿蒙系统进行观望的华为手机用户,首先是小智说的目前鸿蒙系统手机版还处在第一个测试版本,有什么BUG还不太清楚,另外虽然说鸿...

weixin_30222083的博客 205

鸿蒙系统手机开机,华为手机鸿蒙系统 OS 2.0 开机界面演示

5月6日鸿蒙系统正式上线,而上个月底部分华为用户收到了鸿蒙系统 OS 2.0 开发者 Beta 公测版推送,我们也多次报道了与 EMUI 系统的对比。接下来我们就为大家带来华为手机鸿蒙系统 OS 2.0 开机界面演示。华为手机鸿蒙系统 OS 2.0 开机界面演示今日数码博主 @长安数码君 发布了华为手机鸿蒙系统 OS 2.0 开机界面与 EMUI 开机界面的对比,鸿蒙系统 OS 2.0 开机界面动...

weixin_42551508的博客 5126

原生鸿蒙手机,鸿蒙为什么不做成独树一帜区别于苹果谷歌的崭新的系统呢?

近日华为向外界演示了搭载了鸿蒙操作系统的华为手机,很多网友看过视频和相关照片之后,第一个感觉就是鸿蒙系统看起来和过去的安卓系统差不多,甚至连UI布局和操作逻辑都基本一致。因此有网友都对华为的做法表示不解,知名数码博主科技新一也在社交平台写道:“什么叫做新系统?作为一个新的系统,你起码要让用户感受到与别的系统之间的区别吧?...本来就想体验你新系统的新鲜感,和与众不同的地方,结果一上手发现跟老安卓一...

weixin_30630377的博客 403

网络推广专员浅析到2021年底至少3亿台华为设备将使用鸿蒙系统

众所周知,早在2019年鸿蒙系统就已正式发布,经过长时间操作检验和发展方向的调整,终于在2020年12月正式面向公众提供鸿蒙2.0beta版本,并且华为宣布在2021年4月份正式上线。鸿蒙系统的存在华为早已多次打过预防针,通过多次的网络推广之后,越来越多怀揣着不同想法的用户群体摩拳擦掌的等待鸿蒙系统上线,那么鸿蒙系统的网络推广普及有着怎样的意义呢?1、简化用户操作界面早在鸿蒙系统正式推出阶段,就有...

478

华为鸿蒙系统细节曝光,华为鸿蒙系统细节曝光 UI重绘动画多/系统简介更流畅...

【手机中国新闻】在上周,华为鸿蒙系统被曝在华为Mate 30系列手机上开启测试,并对该操作系统进行改进,不过测试的结果究竟如何呢?直到7月9日,一位不愿透露姓名的内测人员向外媒huaweicentral透露了鸿蒙系统的部分细节。华为鸿蒙(图取自huaweicentral)据其介绍,鸿蒙系统是与基于安卓的EMUI完全不同的存在,该系统增添了新的手机唤醒动画,支持自定义选项;支持息屏显示,可添加Wid...

weixin_35918198的博客 140

华为鸿蒙系统代码开发的一系列操作

2.查看安装下载工具的说明文档。3.开始自己的第一个项目。

weixin_33210601的博客 287
上一篇: 经典算法(五)---归并排序
下一篇: 练习实战- 华为登录界面
'撒野奔跑.
博客等级 码龄4年 185粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'撒野奔跑.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值