首页 > 其他分享 >【鸿蒙应用】总结一下ArkUI

【鸿蒙应用】总结一下ArkUI

时间:2024-09-14 15:55:44浏览次数:3  
标签:总结 动画 范式 鸿蒙 UI 开发者 组件 ArkUI


ArkUI是 HarmonyOS 应用界面的 UI 开发框架,提供了简洁的 UI 语法、UI 组件、动画机制和事件交互等等 UI 开发基础,以此满足应用开发者对 UI 界面开发的需求。

组件是界面搭建的最小单位,开发者通过多种组件的组合构成完整的界面。

页面是ArkUI最小的调度分隔单位,开发者可以将应用设计为多个功能页面,每一个页面进行单独的文件管理,并且通过页面路由 API 完成页面之间的调度管理,以此来实现应用内功能的解耦。

ArkUI有这几个特征:

  1. UI 组件:ArkUI内置了丰富的多态组件,包括Image、Text、Button等基础组件,可包含一个或多个子组件的容器组件、满足开发者自定义绘图需求的绘制组件以及提供视频播放能力的媒体组件等。其中“多态”是指组件针对不同类型设备进行了设计,提供了在不同平台上的样式适配能力。同时,ArkUI也支持用户自定义组件。
  2. 布局:ArkUI提供了多种布局方式,不仅保留了经典的弹性布局能力,还提供了列表、宫格、栅格布局和适应多分辨率场景开发的原子布局能力。
  3. 动画:ArkUI对于UI界面的美化,除组件内置动画效果外,还提供了属性动画、转场动画和自定义动画能力。
  4. 绘制:ArkUI提供了多种绘制能力,以满足开发者的自定义绘图需求,支持绘制形状、颜色填充、绘制文本、变形与裁剪、嵌入图片等。
  5. 交互事件:ArkUI提供了多种交互能力,以满足应用在不同平台通过不同输入设备进行UI交互响应的需求,默认适配触摸手势、遥控器按键输入、键鼠输入,同时提供了相应的事件回调以便开发者添加交互逻辑。
  6. 平台 API 通道:ArkUI提供了API扩展机制,可通过该机制对平台能力进行封装,提供风格统一的JS接口。
  7. 两种开发范式:ArkUI针对不同的应用场景以及不同技术背景的开发者提供了两种开发范式,分别是基于ArkTS的声明式开发范式(简称声明式开发范式)和兼容JS的类Web开发范式(简称类Web开发范式)。

常用的基础组件:Blank、Button、Checkbox、CheckboxGroup、DataPanel、DatePicker、Divider、Gauge、Image、ImageAnimator、LoadingProgress、Marquee、Navigation、PatternLock、Progress、QRCode、Radio、Rating、RichText、ScrollBar、Search、Select、Slider、Span、Stepper、StepperItem、Text、TextArea、TextClock、TextInput、TextPicker、TextTimer、TimePicker、Toggle、Web、XComponent。

常见的容器组件:AlphabetIndexer、Badge、Column、ColumnSplit、Counter、Flex、GridContainer、GridCol、GridRow、Grid、GridItem、List、ListItem、Navigator、Panel、Refresh、RelativeContainer、Row、RowSplit、Scroll、SideBarContainer、Stack、Swiper、Tabs、TabContent。

媒体组件:Video。

绘制组件:Circle、Ellipse、Line、Polyline、Polygon、Path、Rect、Shape。

画布组件:Canvas。


标签:总结,动画,范式,鸿蒙,UI,开发者,组件,ArkUI
From: https://blog.51cto.com/u_12344418/12017508

相关文章

  • 【鸿蒙应用】Grid和GridItem组件
    Grid是网格容器,有行和列组成,通过GridItem组件所在的单元格做出各种各样的布局。比如:@Entry@Preview@ComponentstructIndex{privatearr:string[]=["1","2","31","14","51","61","71","18"];build()......
  • 【鸿蒙应用】List、ListItem和ListItemGroup组件
    List组件是一个列表组件,包含一系列相同宽度的列表,适合连续、多行呈现同类数据的,比如图片。ListItem组件是用来展示列表具体项的item;ListItemGroup组件是用来展示列表item分组的,这两个组件必须是配合List组件来使用。比如:interfaceItemType{title:string;projects:s......
  • 【鸿蒙应用开发】常见的容器组件:ColumnSplit、RowSplit和Flex
    上一章已经了解了Column和Row的一些属性,以下是几个案例:设置子组件水平方向的间距为:5@Entry@Preview@ComponentstructIndex{@Statemessage:string='Hello鸿蒙';controller:webview.WebviewController=newwebview.WebviewController();build(){Column(......
  • 鸿蒙应用开发的容器组件——Column和Row
    在鸿蒙(HarmonyOS)开发中,Column和Row是两种非常基础的布局组件,它们分别用于在垂直方向和水平方向上排列子组件。这些组件使得开发者能够轻松地构建出结构清晰、布局合理的用户界面。下面将详细介绍这两个组件的属性以及如何使用它们。Column和Row是常用的容器组件之一。Column是......
  • k8s面试总结
    k8s是一个Google开源的的容器编排工具。k8s能够实现弹性伸缩、负载均衡、版本回退等功能。一个kubernetes集群主要是由控制节点(master)、工作节点(node)构成,每个节点上都会安装不同的组件。下面,以部署一个nginx服务来说明kubernetes系统各个组件调用关系:首先要明确,一旦kub......
  • Vue2/Vue3中编程式路由导航实践总结
    【1】Vue2编程式路由导航①router.push除了使用<router-link>创建a标签来定义导航链接,我们还可以借助router的实例方法,通过编写代码来实现。router.push(location,onComplete?,onAbort?)注意:在Vue实例内部,你可以通过$router访问路由实例。因此你可以调用this.$router......
  • 《鸿蒙/Harmony | 开发日志》请求用户权限 & 打开应用设置界面
    鸿蒙的请求用户权限相对比较好用,下面的代码,基本是来源华为官方的文档,只需要封装一下,挺好用。鸿蒙的权限分类鸿蒙的权限分为两种系统权限(直接配置文件配置申请,不需要询问用户)需要用户手动确认的权限(必须提示用户主动授权)参考:《应用权限管控概述》在配置文件中设置需要申......
  • 《鸿蒙/Harmony | 开发日志》DevEco Studio 使用NewUI
    DevEco也是基于Jetbrain的IntelliJIDEA社区版开发。用习惯了Idea和AndroidStudio的新UI界面。看着旧版的界面风格太难了。官方没有提供改NewUI的方式,不过还是有其它的方法可以开启。只是有些功能可能没有那么好用,需要注意一下。不过在我用下来,目前的问题都能解决。开启N......
  • 2024.09.14模拟赛总结
    $T1$似乎是签到题,但是没开$unsigned$$long$$long$挂成$88$分了。直接模拟即可,从后往前考虑,将每个数放到离其最近的位置,不过不会证...#include<bits/stdc++.h>usingnamespacestd;typedefunsignedlonglongLL;constintN=1000010;structwasd......
  • oracle之spool详细使用总结
    一、通过spool命令,可以将select数据库的内容写到文件中,通过在sqlplus设置一些参数,使得按指定方式写到文件中(1)常规使用spool方法,将set的一些命令和spool,select等放入.sql脚本中,然后再sqlplus中运行该脚本。以下为logmnr.sql脚本,在sqlplus中执行@logmnr.sql就可以写入文件record......