鸿蒙一次开发,多端部署(三)应用UX设计原则

news2024/11/15 4:05:02

设计原则

当为多种不同的设备开发应用时,有如下设计原则:

差异性

充分了解所要支持的设备,包括屏幕尺寸、交互方式、使用场景、用户人群等,对设备的特性进行针对性的设计。

一致性

除了要考虑每个设备的特性外,还需要考虑不同设备的共性,并使用通用性设计方法提供既符合设备差异性,又具有跨设备一致性的设计,从而减少用户学习的难度,降低应用开发的成本。

灵活性

在硬件能力、交互方式、使用场景类似的设备上,应主要考虑布局位置、内容宽度、横向组件数量的调整,避免出现因横竖屏切换、窗口尺寸变化造成的界面元素不合理空白、模糊、变形、截断的问题。

兼容性

在硬件能力、交互方式、使用场景差异较大的设备上,除了考虑布局位置、内容宽度、横向组件数量,还需支持不同的输入方式、考虑功能架构的调整,避免出现输入不识别、功能不可以用、使用困难的问题。

设计要点

很多用户的多设备体验以默认设备为核心或从默认设备往外延伸,因此,围绕全场景体验的OpenHarmony UX设计,将优先确保用户在不同的设备上获得跟使用默认设备类似的体验,同时充分利用设备的优势使体验最大化。

在进行OpenHarmony的多设备应用设计时,需考虑应用以下内容:

自适应应用架构

使用自适应应用架构,可以确保应用在不同终端上,以最佳的导航形式来访问应用。OpenHarmony 在开发SDK上提供了便利,开发者可以通过简单配置轻松完成,无需从0开始构建。

例如:默认设备上的底Tab的结构,在Pad上一般使用侧边Tab来代替,在大屏上则是顶部Tab。

响应式界面布局

应用会在不同的场景下使用,常见的有横竖屏切换、分屏。这些场景会导致界面的尺寸和长宽比例发生变化。因此需要考虑内容的响应式布局,确保在各种场景下都有最佳的显示效果。

OpenHarmony 提供了多种布局能力,开发者通过组合运用使内容布局更符合业务需要与用户预期。

例如:默认设备上的滚动banner,在其他设备上可进行延伸,平板上露出更多banner,大屏上完全显示两张。

在不同类型的设备上,界面的尺寸和比例更为多样,再加上使用上的差异,导致设计上更为复杂。为此,可以考虑使用分栏布局、重复布局、挪移布局、缩进布局,进一步解决内容的显示问题。

例如:默认设备上上下排布的大图与列表,在长宽比例更大的设备上可挪移到左右展示。

交互归一

交互归一描述了在多种交互任务或场景下,应用在触屏上和其它常用的输入方式(例如鼠标、触摸板、键盘)上分别对应的正确的交互规则。设计师和开发者应保证在当前输入方式下应用能够以正确的、符合用户习惯的交互规则进行响应。通常情况下,系统已经做好了这些事情,开发者只需正确调用。如果您的操作比较特别,您需要考虑多端上的交互归一,以确保用户体验的一致。

视觉参数化

通过参数,方便的调整各端的视觉,使得各端具备该设备特有的风格。在OpenHarmony中,边距、圆角、阴影、字体大小等,都可以通过参数来进行调整。

多态控件

应用在多设备上运行,设备也可在不同交互方式下使用。控件作为应用的基础组成部分,需要支持不同的设备,且在视觉、交互、动效等表现形式上针对设备进行必要的调整,达到最佳体验。因此,同一控件在不同的设备上会呈现出不同的形态,称为多态控件。

OpenHarmony默认提供支持多设备的控件,开发者可以直接使用并对不同状态进行自定义。例如平板可以连接蓝牙键盘和鼠标来做文字编辑工作,此时控件需要同时满足键盘和鼠标交互,需要支持获焦态和悬停态。

针对性优化

在上述设计内容以外,在具体设备上,推荐针对性地进行特殊的操作和布局优化,使之符合当前设备的使用习惯。

例如:在以键鼠操作的界面上,为确保用户的使用习惯,需要提供额外的设计。

以触控为主以键鼠操作为主
下拉刷新界面上提供“刷新”图标或适配F5快捷键
滑动多选鼠标 框选
下拉关闭界面上提供“关闭”图标
长按浮起拖拽鼠标直接拖拽

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

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

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

相关文章

vue3 reactive丢失响应式

问题 使用 reactive 构造响应式对象时,当对其进行重新赋值后,会导致原有变量失去响应式,页面不会发生联动更新 例如: 1、使用 reactive 定义一个响应式的对象变量 let data1 reactive({name: 小李,date: 2024-03-18,address: xx…

基于Python的HTTP接口自动化测试框架实现

对服务后台一系列的http接口功能测试。 输入:根据接口描述构造不同的参数输入值 输出:XML文件 二、实现方法 1、选用Python脚本来驱动测试 2、采用Excel表格管理测试数据,包括用例的管理、测试数据录入、测试结果显示等等,这…

美团2023年财报:全年营收2767亿元,即时配送订单219亿笔

3月22日,美团(股票代码:3690.HK)发布2023年第四季度及全年业绩。公司各项业务继续取得稳健增长,全年营收2767亿元(人民币,下同),同比增长26%,经营利润134亿元。 本年度,美团继续围绕“零售科技”战略&…

C# winform修改背景图 控件双向绑定 拖拽打开图片

修改背景图 说明 这里我准备基于百度飞桨PaddleSeg项目的人像分割模块做一个人像抠图,这里顺便用上了双向绑定和图片拖拽打开。 下面就是示例: 用颜色替换 用背景图替换 保存成功后的图片 一、使用百度飞桨PaddleSeg //初始化 引擎engine new Padd…

用易货模式做成小程序商城的可行性分析

在当前的商业环境中,易货模式已经逐渐被人们所熟知和接受。这种以物易物的交易方式,不仅能帮助企业降低库存压力,还能有效促进资源的优化配置。那么,如果我们用易货模式来打造一个小程序商城,这样的想法是否可行呢&…

【探索Linux】—— 强大的命令行工具 P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)

阅读导航 引言一、TCP协议二、TCP网络程序模拟实现1. 预备代码⭕ThreadPool.hpp(线程池)⭕makefile文件⭕打印日志文件⭕将当前进程转变为守护进程 2. TCP 服务器端实现(TcpServer.hpp)3. TCP 客户端实现(main函数&…

Doris实战——天眼查Doris实时数仓构建

目录 前言 一、业务背景 二、原有架构及痛点 三、理想架构 四、技术选型 五、新数仓架构 六、应用场景优化 6.1 人群圈选 6.2 C端分析数据及精准营销线索场景 七、优化经验 八、规模和收益 九、未来规划 原文大佬的这篇实时数仓构建有借鉴意义的,这些摘…

JavaEE 初阶篇-深入了解进程与线程(常见的面试题:进程与线程的区别)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 进程概述 2.0 线程概述 2.1 多线程概述 3.0 常见的面试题:谈谈进程与线程的区别 4.0 Java 实现多线程的常见方法 4.1 实现多线程方法 - 继承 Thread 类…

从先序与中序遍历序列构造二叉树

从先序与中序遍历序列构造二叉树 描述: 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 递归法 解题思路: 通过先序遍历我…

山西生态与智慧水利科技展会之华锐VRAR元宇宙水利应用展位恭候大驾

2024黄河流域生态与智慧水利科技博览会于今日在山西太原隆重开启,本次展会持续至3月24日共三天时间,相比之前的水展,这次展会区域之广辐射了中部六省,展会内容之多包括黄河流域生态保护的现状与挑战、水资源管理与水污染防治、智慧…

鸿蒙开发-UI-动画-页面间动画

鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 鸿蒙开发-UI-图形-图片 鸿蒙开发-UI-图形-绘制几何图形 鸿蒙开发-UI-图形-绘制自定义图形 鸿蒙开发-UI-图形-页面内动画 鸿蒙开发-UI-图形-组件内转场动画 鸿蒙开发-UI-图形-弹簧曲线动画 文章目录 前言 一、放大缩…

今天简单聊聊容器化

什么是容器化 容器化(Containerization)是一种软件开发和部署的方法,其核心思想是将应用程序及其所有依赖项打包到一个独立的运行环境中,这个环境被称为容器。容器化技术使得应用程序可以在不同的计算环境中以一致的方式运行&…

ES集群不识别节点SSL证书的问题处理

问题描述 在启动ES服务并试图加入其他节点上已启动的集群时,出现报错(原文是一大段话,我按语义拆成了几段): [2024-03-19T16:32:02,844][WARN ][o.e.c.s.DiagnosticTrustManager] [node-2-master] failed to establish trust with server a…

宏璇物流邀您参观2024快递物流供应链与技术装备展览会

展会介绍 ESYE CHINA 2024快递物流展是亚洲范围内超大规模的快递物流业展示平台,由于展会的需求及扩大市场的影响力,ESYE 2024转战杭州,凭借着先进的经济发展水平、优越的地理位置、成熟的产业环境以及巨大的电商、微商、零售业、消费的市场…

云手机为电商提供五大出海优势

出海电商行业中,各大电商平台的账号安全是每一个电商运营者的重中之重,账号安全是第一生产力,也是店铺运营的基础。因此多平台多账号的防关联管理工具成了所有电商大卖家的必备工具。云手机最核心的优势就是账户安全体系,本文将对…

ky10.aarch64安装Jenkins

参考地址:《安装部署 Jenkins》 前言 有war包和rpm两种安装方式,如果是长期使用更加推荐rpm的安装方式,可以更好的管理Jenkins; 我此次安装jenkins主要用于测试和简单的个人使用,所以选择更轻便的war安装。 1 下载J…

【C#】C#窗体应用修改窗体的标题和图标

修改窗体顶部的标题和图表,如果不修改则会使用默认的图标,标题默认为Form1,如第一张图,这时候如果想换成和系统有关的内容,如第二张图,可以使用下面的方法进行修改,修改后打开该软件任务栏显示的…

【yaml包如何安装】

【yaml包如何安装】 安装yaml包(也称为pyyaml) ,可以直接使用如下述命令 pip install pyyaml

LeetCode - 存在重复元素

219. 存在重复元素 II 这道题可以用两个方法解决。 哈希表 从左到右遍历数组,并将数组的下标存到hash中,在遍历数字的过程中,如果hash中不存在nums[i],将nums[i]加入到hash当中,若存在,则判断下标之间的关…

【算法】数组-移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的…