当前位置: 首页 > news >正文

网页设计公司业绩介绍衡水seo

网页设计公司业绩介绍,衡水seo,广州公司注册地址要求,免费包装设计在线生成【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解 一、前言#xff1a;移动开发声明式 UI 框架的技术变革 在移动操作系统的发展历程中#xff0c;UI 开发模式经历了从命令式到声明式的重大变革。 根据华为开发者联盟 2024 年数据报告显示#xff0c;HarmonyOS 设备…【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解 一、前言移动开发声明式 UI 框架的技术变革 在移动操作系统的发展历程中UI 开发模式经历了从命令式到声明式的重大变革。 根据华为开发者联盟 2024 年数据报告显示HarmonyOS 设备激活量已突破 7.3 亿台其中采用 ArkTS 声明式 UI 框架开发的应用占比达 68%较 2023 年提升 45 个百分点。 这标志着以 ArkTS 为代表的声明式开发范式正在成为智能终端应用开发的主流选择。 本文将以一个典型的 ArkTS 组件代码为例代码示例来自IDE示例。 该代码实现了一个基础的交互界面包含状态管理、布局设计、事件处理等核心要素是理解 ArkTS 组件开发的绝佳切入点。 二、ArkTS 组件基础代码结构与核心装饰器 1项目结构梳理 图1-1 如上图所示该项目整体结构为HarmonyOS示例空Ability项目结构。一个常规的鸿蒙应用项目重点需要关心编码的部分分为三个 AppScope 设置应用的包名图标等相关信息entry - src - main - ets 只要编码的所在地。entryAbility作为启动初始的入口需要修改其中的启动页。pages为UI界面和逻辑开发。resource 资源目录下的图标目录 media页面配置路由main_pages 2ArkTS组件声明与入口标记 Entry Component struct Index {// 组件内部逻辑 }1. Entry 装饰器 标记应用的Ability启动加载的入门我们可以理解为界面。所以该装饰器修饰都可以在Ability中加载作为界面使用。 2. 下面为EntryAbility代码示例配置启动页 import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from kit.AbilityKit; import { hilog } from kit.PerformanceAnalysisKit; import { window } from kit.ArkUI;const DOMAIN 0x0000;export default class EntryAbility extends UIAbility {onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET);}onWindowStageCreate(windowStage: window.WindowStage): void {// 舞台添加启动页面windowStage.loadContent(pages/Index, (err) {if (err.code) {hilog.error(DOMAIN, testTag, Failed to load the content. Cause: %{public}s, JSON.stringify(err));return;}hilog.info(DOMAIN, testTag, Succeeded in loading the content.);});}}3. 下面为路由配置表resource - base - profile - main_pages.json文件 {src: [pages/Index] } 当我们使用快捷键创建空的pages时IDE会自动在该路由表添加信息。若是手动一定要记得添加页面的信息。 4. Component 装饰器 代表该类是组建类可以给其他界面和组件调用例如 // 这里引入 import { Index } from ./IndexEntry Component struct APage {build() {RelativeContainer() {// 这里使用Index()}.height(100%).width(100%)} }5. export导出 但是需要注意的是我们需要对要引入的组件类进行export导出标记其他类才能去导出。所以我们的Index类需要作如下修改 Entry Component export struct Index {// 组件内部逻辑 }3build函数是做什么的呢 1. build函数构建概述 组件构建函数定义UI结构和布局从示例代码可以看出build中进行了鱼鳞排版布局的编写。这也是声明式UI布局编写的一大特写不管是Flutter还是Android的compose都是如此。 布局通过嵌入-展开的形式可以一目了然整个UI布局的结构。并且通过链式调用非常方便的设置UI属性。 Entry // 应用入口组件标识 Component // 声明为组件 export struct Index {// 组件构建函数定义UI结构和布局build() {// 创建一个相对容器占满整个父容器空间RelativeContainer() {// 显示message状态变量的文本组件Text(this.message).id(HelloWorld) // 设置组件ID用于样式或交互引用.fontSize($r(app.float.page_text_font_size)) // 从资源文件获取字体大小.fontWeight(FontWeight.Bold) // 设置字体加粗.alignRules({ // 设置文本在容器中的对齐规则center: { anchor: __container__, align: VerticalAlign.Center }, // 垂直居中middle: { anchor: __container__, align: HorizontalAlign.Center } // 水平居中})}.height(100%) // 容器高度占满父容器.width(100%) // 容器宽度占满父容器} }2.RelativeContainer 的定位策略 HarmonyOS 提供 7 种基础布局容器RelativeContainer相对布局适用于元素需相对于容器或其他元素定位的场景。 根据华为 UX 设计规范在屏幕适配场景中相对布局的设备兼容性比绝对布局高 40%尤其适合折叠屏等多形态设备。 .alignRules({center: { anchor: __container__, align: VerticalAlign.Center },middle: { anchor: __container__, align: HorizontalAlign.Center } })锚点系统 __container__表示相对于父容器定位支持自定义锚点如子组件 ID。华为布局引擎数据显示合理使用锚点可减少 20% 的布局计算时间避免递归定位导致的性能瓶颈。​ 对齐策略 VerticalAlign.Center垂直居中与 HorizontalAlign.Center水平居中组合使用实现文本组件的屏幕中心定位。该策略在不同分辨率设备上的定位误差小于 1px基于 1920x1080 到 4K 分辨率的测试数据。 4数据交互与事件交互 1. 响应式状态管理State 装饰器 State message: string Hello World;State 修饰的变量会被框架自动追踪当变量值发生变化时系统会智能识别受影响的 UI 元素并触发局部重绘。与传统命令式 UI 更新如 Android 的 findViewByIdsetText相比声明式更新减少了 60% 的 DOM 操作量基于 Chromium 内核性能测试数据。 2. 绑定点击事件 通过在点击事件中处理message变量的赋值。ArkUI框架自动处理数值变化后使用了该数值的UI进行重新渲染刷新。 .onClick(() {this.message Welcome; })// 显示message状态变量的文本组件Text(this.message)5资源文件的管理 .fontSize($r(app.float.page_text_font_size))$r () 函数 从资源文件resources/base/element/string.json 等动态获取字体大小支持多语言、多设备适配。华为开发者平台数据显示使用资源文件管理样式可使应用包体积减少 15%避免硬编码导致的维护成本。​ 类型安全 DevEco Studio 提供资源引用智能提示减少 70% 的资源路径拼写错误基于千次开发测试数据。 三、示例项目源码与详细注释 Index.page Entry // 应用入口组件标识 Component // 声明为组件 export struct Index {// 响应式状态变量用于存储显示的文本内容State message: string Hello World;// 组件构建函数定义UI结构和布局build() {// 创建一个相对容器占满整个父容器空间RelativeContainer() {// 显示message状态变量的文本组件Text(this.message).id(HelloWorld) // 设置组件ID用于样式或交互引用.fontSize($r(app.float.page_text_font_size)) // 从资源文件获取字体大小.fontWeight(FontWeight.Bold) // 设置字体加粗.alignRules({ // 设置文本在容器中的对齐规则center: { anchor: __container__, align: VerticalAlign.Center }, // 垂直居中middle: { anchor: __container__, align: HorizontalAlign.Center } // 水平居中}).onClick(() { // 点击事件处理this.message Welcome; // 点击后更新状态变量触发UI刷新})}.height(100%) // 容器高度占满父容器.width(100%) // 容器宽度占满父容器} }APage.ets import { Index } from ./IndexEntry Component struct APage {build() {RelativeContainer() {Index()}.height(100%).width(100%)} }
http://www.zqtcl.cn/news/45054/

相关文章:

  • html5视频网站模板wordpress企业模板购买
  • 微信公众平台是什么西安百度网站快速优化
  • 网站建设4435现在个人网站怎么备案
  • 推广网站2024网络营销的特点有哪些?
  • 怎么查那些人输入做网站用php做网站视频
  • 一个网站需要几个人做wordpress文章存档插件
  • 黑河北京网站建设广州市企业网站建设企业
  • 长沙网站建设公司招聘it外包考核
  • 普通网站服务器wordpress阅读更多标签
  • 专业的外贸行业网站开发房地产最新消息利好
  • 做网站先用dw还是asp具体阐述对网站如何加强建设
  • 教学资源库网站建设立项申报书营销方案策划
  • 网站后台视频教程凡科建站登录入口
  • 专门做朋友圈小视频的网站制作商务网站信息标题应
  • 太仓有没有做网站建设的新人做直播哪个网站好
  • 深圳求做网站服装设计专业比较好的学校
  • 随州网站建设推荐局域网里做网站
  • 传奇手游开服表网站旅游网站建设导航栏
  • 零下一度网站建设app开发平台有哪些
  • 网站规划与建设参考文献延安网站建设推广
  • 泰安网站建设制作服务商城网站设计注意什么
  • 免费的企业网站源码帮人做推广的网站
  • 网站 空间 下载名字logo在线设计生成器
  • 市场上网站开发价格文化传播公司做网站宣传好吗
  • 健身餐的网站怎么做管理咨询公司起名字
  • 做渔家乐推广的有哪些好网站抖音小程序怎么挂到抖音上
  • 网站头部图片如何做朝阳seo
  • 我需要一个网站免费行情软件网站大全入口
  • 温州网站排名优化公司哪家好在手机上怎么注册公司
  • 四川旅游seo整站优化做电商设计在哪个网站接单