openharmony-界面适配

【OpenHarmony设备开发】修改屏幕 DPI(像素密度) 在源码foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml中有rk3568的默认配置 rk3568开发板默认的DPI配置为240,范围为80-640。 阅读详情

1. 像素单位

参考:像素单位-公共定义-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者 (huawei.com)

鸿蒙方舟框架为开发者提供了4种像素单位,即:px、vp、fp、lpx。并且框架采用vp为基准数据单位。类似Android分字符大小和控件大小单位,以及逻辑大小单位。但是更倾向于鸿蒙多窗口适配类似网页适配。

  • vp是虚拟像素单位,其计算公式为:vp = px / (DPI / 160) 例如,如果设备的densityPixels为3.5,DPI为560,则1vp = 1px / (560 / 160) = 0.75px 
  • 可以使用px2vp()接口将px转换为vp。

  

  1. px (Pixels) :
  • 定义:px代表屏幕上的像素点,是手机屏幕分辨率的单位,即屏幕物理像素单位。
  • 特点:由于不同手机的屏幕大小和分辨率存在差异,px单位在不同手机上的实际大小也会有所不同,这导致了其适配性相对较差。
  • 适用场景:当设计需要与具体像素尺寸相关,或者在不同设备和屏幕分辨率上需要一致的表现时使用。在视网膜或高清屏幕上可能需要额外的考虑。
  1. vp (Viewport Percentage) :
  • 定义:vp是视口百分比单位,基于视口(即浏览器窗口)的宽度或高度,屏幕密度相关像素,根据屏幕像素密度转换为屏幕物理像素,当数值不带单位时,默认单位vp。在实际宽度为1440物理像素的屏幕上,1vp约等于3px。
  • 特点:它允许组件的大小根据视口的大小动态调整。
  • 适用场景:常用于响应式设计,确保组件在不同屏幕尺寸上保持相对大小。
  • 温馨提示:vp是默认像素单位。
  1. fp (Font Size Percentage) :
  • 定义:字体像素,是字体大小百分比单位,基于父元素的字体大小,与vp类似适用屏幕密度变化,随系统字体大小设置变化。
  • 特点:它允许组件的大小相对于父元素的字体大小进行调整。
  • 适用场景:在响应式设计中特别有用,可以确保组件与文本内容保持适当的比例。
  1. lpx (Logical Pixels) :
  • 定义:lpx是逻辑像素单位,用于解决不同设备分辨率和像素密度的问题,lpx单位为实际屏幕宽度与逻辑宽度(通过designWidth配置)的比值,designWidth默认值为720。当designWidth为720时,在实际宽度为1440物理像素的屏幕上,1lpx为2px大小。
  • 特点:它基于设备的像素密度进行转换,以提供一致的视觉尺寸。
  • 适用场景:当需要确保组件在不同设备(如桌面、平板、手机等)上看起来一致时使用。

1.2.  系统提供的单位转化方法

2.自适应布局

主要布局有:线性布局 层叠布局 弹性布局 网格布局

3.响应式布局

栅格布局

媒体查询

参考:

常见布局开发指导-基于ArkTS的声明式开发范式-UI开发-基于ArkTS开发-开发 - 华为HarmonyOS开发者 (huawei.com)

OpenHarmony(鸿蒙南向)——平台驱动开发【DAC】 DAC(Digital to Analog Converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备。DAC模块支持数模转换的开发。它主要用于:作为过程控制计算机系统的输出通道,与执行器相连,实现对生产过程的自动控制。在利用反馈技术的模数转换器设计中,作为重要的功能模块呈现。DAC模块主要在设备中数模转换、音频输出和电机控制等设备使用,设置将DAC模块传入的数字信号转换为输出模拟信号时需要用到DAC数模转换驱动。 阅读详情

相关推荐

OpenHarmony实战开发-使用自定义界面扫码能力在折叠屏设备中实现折叠态切换适配。

本示例介绍使用自定义界面扫码能力在折叠屏设备中实现折叠态切换适配。自定义界面扫码使用系统能力customScan,其提供相机流的初始化、启动扫码、识别、停止扫码、释放相机流资源等能力。折叠屏折叠状态通过监听display的foldStatusChange事件实现。

m0_70749039的博客 1228

OpenHarmony 3.x Releases编译环境搭建从零到编译Demo成功

最近在学习OpenHarmony轻量化系统的移植,关于OH的编译环境,参考了各个大佬的blog,成功搭建环境,本教程展示了从零到成功编译的全部过程。 (因为OH的更新,目前有些博主的blog已经不能适用,本blog写于2022/4/3) 本blog针对的是OpenHarmony 3.x Releases的编译环境 OpenHarmony Release Notes 搭建步骤: 1.下载安装VMware,配置Ubuntu20.04(自带python3,之前的python版本会出错!!!) 2.下载Openh

qq_33603380的博客 1万+

OpenHarmony 5.0横竖屏界面适配

由于需要一套代码适配横屏和竖屏设备,所以有些数值的大小可能在竖屏上面适配,在横屏上面不那么适配了,所以需要横屏特殊的数值大小(例如:宽高)

龚礼鹏的博客 581

OpenHarmony 屏幕旋转和屏幕DPI

修改文件位置。

HarmonyCat的博客 870

OpenHarmony 5.0监听导航栏和状态栏是否显示

OpenHarmony 5.0监听导航栏和状态栏是否显示

龚礼鹏的博客 302

Ubuntu 20.04下大陆ARS408毫米波雷达点云数据采集与RVIZ实时可视化全流程解析

本文详细解析了在Ubuntu 20.04系统下,如何实现大陆ARS408毫米波雷达的点云数据采集与RVIZ实时可视化全流程。内容涵盖硬件连接、ROS Noetic环境搭建、CAN接口配置、数据验证及自动化脚本编写,为机器人感知、自动驾驶等领域的开发者提供了一套稳定、实用的实战方案。

bash7scripter的博客 699

【OpenHarmony常见问题汇总8】IDE常见开发问题

如何进行截屏操作如何通过命令行重启设备IDE真机无法连接问题IDE默认创建的empty ability工程出现parent class is not constructor异常如何修改工程module名字如何安装应用更新覆盖如何设置原型机息屏时间DevEco Studio中无法使用ctrl+shift+F快捷键开启全文搜索。

xzs51job的专栏 1818

STM32F4三重ADC+DMA双缓冲实战:用CubeMX搞定同步采样,告别数据覆盖烦恼

本文详细介绍了STM32F4三重ADC与DMA双缓冲技术的实战应用,通过CubeMX配置实现同步采样,解决数据覆盖问题。内容涵盖硬件架构解析、CubeMX工程配置、双缓冲实现技巧及调试优化方法,适用于电机控制、电力监测等需要高精度多通道信号采集的场景。

weixin_30627341的博客 357

Flutter三方库适配OpenHarmony【secure_application】— 自定义锁屏界面与品牌化设计

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.youkuaiyun.com默认的模糊遮罩虽然能保护内容,但看起来很"素"。对于正式的商业应用,锁屏界面应该体现品牌调性——Logo、品牌色、专业的解锁交互。secure_application 的回调给了我们完全的自由度,可以在模糊遮罩上方放置任何 Widget。这篇分享几种实用的锁屏界面设计方案。

ze_lin_zfh的博客 956

深入解析MTK平台hang_detect机制:从原理到实战调试

本文深入解析了MTK平台hang_detect机制的工作原理与实战调试技巧。作为系统健康监测的核心机制,hang_detect通过多层级监控体系检测应用层和内核层异常,结合Kernel_exception等日志信息快速定位问题。文章详细介绍了典型问题案例、调试方法及预防措施,帮助开发者提升MTK平台系统稳定性调试能力。

purple的博客 1004

LaMAR数据集下载和使用流程

LaMAR数据集

qq_51745206的博客 971

【OpenHarmony/HarmonyOs 】深色模式适配实践:资源色、Canvas 与学习界面的统一体验

深色模式不是一个开关,而是一套完整视觉体系。「物理视界」通过资源色和 Canvas 主题判断,让普通 UI 和物理绘图都能适配深色模式。对 OpenHarmony/HarmonyOS 应用来说,资源管理是深色模式的基础,Canvas 重绘是深色模式的关键细节。当这两部分都做好,用户无论白天还是夜晚学习,体验都会更舒服。🌙。

IntMainJhy的博客 136

华为OD机考双机位C卷 - AI处理器组合 (Java & Python & JS & GO & C++ & C)

> 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 华为OD机试双机位C卷真题目录点击查看: [【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)](https://blog.youkuaiyun.com/banxia_frontend/article/details/155503868)

算法大师! 232

OpenHarmony轻智能产品开发直播笔记

地址 直播地址(其中有文档) 主要有用内容 环境搭建 注意:版本不要错误 源码下载 在openharmony 的gitee仓中 以上代码编译成功 添加工程 这些无需设置,使用默认 在这里进行添加自己的代码,整个工程才建立结束 适配 (图形子系统是其中子系统之一,这里介绍了一些接口) 体统框架图 适配工作 这里讲解适配过程 图形界面自己实现 图像硬件叠加(完全不懂,没一点基础) 注意事项 总结: 这个实例也用在智能手表上,我相信自己在相关领域应该能用的上。但是基

weixin_47354208的博客 470

使用自己的数据跑通mmsegmentation

使用自己的数据跑通mmsegmentation,解决以下报错:1)type object 'FileClient' has no attribute 'infer_client' 2)It is expected output_size equals to 2, but got size 3 3)训练测试结果报NAN 4)KeyError: 'MyDataset is not in the dataset registry' 5)预训练模型和加载的网络结构层名有差异,unexpected key .....

猫猫与橙子的博客 1656

地图自定义编码CSV转换成ini文件

创 建 schema.ini 文件:有时,当您尝试使用 .csv 文件将自定义地理信息导入 Tableau 时,您可能会看到“无法使用.csv,因为它不包含唯一列”错误消息。这是因为您的 .csv 文件可能包含数值数据,例如数值邮政编码。对于新的地理角色,Tableau 将只接受文本字段。但是,您可以创建一个 schema.ini 文件,以指示 Tableau 应将您要导入的数值字段视为文本字段。...

wenyusuran的专栏 1975

Flutter for OpenHarmony三国杀攻略App实战 - 鸿蒙适配与打包发布

随着华为鸿蒙系统的快速发展,Flutter for OpenHarmony为开发者提供了跨平台开发的新选择。本文将基于我们的三国杀攻略App项目,详细介绍如何进行鸿蒙系统适配、性能优化以及应用打包发布的完整流程。通过本文的详细介绍,我们完成了三国杀攻略App在鸿蒙系统上的完整适配和发布流程。从开发环境搭建到应用商店发布,每个环节都有相应的最佳实践。核心适配要点正确配置开发环境和依赖包实现系统特性检测和界面适配针对鸿蒙系统进行性能优化完成应用签名和打包流程建立完善的测试和监控体系。

2501_94000789的博客 840

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

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

开源鸿蒙成功适配 PC 桌面端,可正常开关机、运行 OpenHarmony App 等

​ 2 月 21 日消息,开源鸿蒙 OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。据报道,此次适配支持了设备的开关机、画面渲染、外设接入和运行 App 等基础功能,包括 USB、网口、SATA 口、PCIE 等硬件接口的驱动也有了,性能已基本满足生产生活需求,不过 UI 界面等还没有适配完成,后续还有大量工作要做。

IT界那些事儿 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Flutter for OpenHarmony:dart_console 打造炫酷命令行界面,绘制表格、控制光标与进度条(CLI 交互库) 深度解析与鸿蒙适配指南

摘要: dart_console 是一个强大的 Dart 终端控制库,支持颜色、光标移动、单字符输入和表格绘制等功能,适用于开发命令行工具。它基于 ANSI 转义序列,提供类似 GUI 的终端交互体验,适用于 OpenHarmony 设备调试和监控工具开发。核心功能包括: 彩色文本:设置前景/背景色 光标控制:实现进度条、动画和重绘 原始模式输入:无需回车直接捕获按键 OpenHarmony 适配:可用于开发系统监控看板等工具 项目提供示例代码,帮助开发者快速上手终端 UI 开发。

jiang_style的博客 7505

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Flutter for OpenHarmony 实战:UnconstrainedBox 无约束盒子详解

本文系统解析了UnconstrainedBox在OpenHarmony平台上的应用实践,从核心原理到实战案例,深入探讨了其在折叠屏适配、权限界面构建等场景的关键作用。通过5个代码示例和性能优化策略,展示了如何高效利用这一布局组件解决OHOS特有挑战。约束机制差异:OHOS窗口系统保留最小约束,需主动处理溢出折叠屏适配:结合实现动态布局切换性能优化:限制无约束区域范围,预计算尺寸,避免build中耗时操作权限合规:严格遵守OHOS权限界面设计规范OHOS 4.1+新特性:即将支持的将简化约束处理。

Abin 973

Flutter × OpenHarmony 跨端实现车辆维修状态概览界面详解

本文介绍了基于Flutter和OpenHarmony的跨端开发技术实现车辆维修状态概览界面的方法。文章首先阐述了车辆维修管理系统的核心模块需求,重点聚焦维修状态可视化展示。通过Flutter构建跨平台UI,结合OpenHarmony适配多设备生态,实现了统一风格的维修状态卡片组件。详细解析了核心代码,包括状态概览Widget和单个状态项Widget的实现,强调了组件化复用、主题自适应和视觉细节优化。该方法可帮助开发者快速构建跨端维修管理系统界面,实现实时、可视化的车辆维修状态监控。

d454dgtdf的博客 973

Flutter在OpenHarmony中实现意见反馈功能的技术实践

跨平台开发框架Flutter与OpenHarmony生态的融合为移动应用开发带来了新的可能性。通过桥接原生能力与Dart层,开发者可以构建高性能的跨平台应用。本文以意见反馈功能为例,详细解析了Flutter在OpenHarmony环境下的技术实现方案,包括UI适配、数据存储和网络请求等核心模块。特别针对OpenHarmony平台特性,探讨了权限管理、文件操作等关键技术点的解决方案。通过http插件实现网络通信,结合shared_preferences进行本地缓存,这种混合架构既保证了功能完整性,又优化了用户

weixin_34121282的博客 405

flutter适配openHarmony RichText 富文本

摘要 本文介绍了Flutter中RichText组件的使用方法,通过多个示例展示富文本的实现技巧。基础示例演示了TextSpan的嵌套样式,链接文本示例展示可点击文本的实现,复杂富文本示例组合多种样式和交互。还包含关键词高亮和格式化文本的实现方法,以及高级应用场景如响应式设计、动画效果等。RichText通过TextSpan树结构支持多样式文本组合,配合手势识别器可实现丰富的文本交互效果。

ZH1545589131的博客 916

用React Native开发OpenHarmony应用:Camera自定义拍照界面

在移动应用开发中,Camera功能早已超越简单的拍照需求。从电商App的扫码购物流程到社交应用的AR美颜特效,高度定制化的相机界面已成为提升用户体验的关键环节。然而,当我们将React Native应用迁移到OpenHarmony平台时,标准Camera组件往往面临严峻挑战:预览卡顿、权限异常、UI适配断裂等问题频发。🔥。

Abin 1726

Flutter + OpenHarmony 响应式布局实战:一套代码,完美适配全场景设备

Flutter + OpenHarmony 响应式布局实战:一套代码,完美适配全场景设备

2501_93573294的博客 1220
上一篇: OpenHarmony学习资料地址记录
下一篇: openharmony源码编译
MatrixGame
博客等级 码龄9年 40粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

MatrixGame

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

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

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

打赏作者

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

抵扣说明:

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

余额充值