HarmonyOS 鸿蒙Next Map Kit 深色模式如何适配?

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Map Kit 深色模式如何适配? Map Kit 在开发应用展示地图时不会自动适配系统的深色模式,但是我看手机自带的地图已经适配,是 SDK 没开放还是有什么特殊的用法我没看到呢

5 回复
找到了各位:
`this`.mapController.setDayNightMode(mapCommon.DayNightMode.AUTO)

更多关于HarmonyOS 鸿蒙Next Map Kit 深色模式如何适配?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


感谢楼主分享!

1、app跟随系统切深色模式或者非深色模式

1.1 颜色适配,自定义两套颜色资源(resources/dark/element/color.json和resources/base/element/color.json),通过$r的方式加载颜色资源的key值。

通过系统资源实现,开发者可直接使用的系统预置资源,即分层参数,同一资源ID在设备类型、深浅色等不同配置下有不同的取值。通过使用系统资源,不同的开发者可以开发出具有相同视觉风格的应用,不需要自定义2份颜色资源,在深浅色模式下也会自动切换成不同的颜色值。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/resource-usage-V5

1.2 图片资源,采用资源限定词目录的方式。参照颜色适配的方法,需要将深色模式下对应的同名图片放到 dark/media 目录下,再通过$r的方式加载图片资源的key值,系统做深浅色模式切换时,会自动加载对应资源文件中的value值。

对于 SVG 格式的一些简单图标,可以使用 fillColor 属性配合系统资源改变图片的绘制颜色。不通过两套图片资源的方式,也可以实现深浅色模式适配。

2、app不跟随系统,应用内切深色模式或非深色模式

2.1 应用通过系统接口主动设置深浅色模式,setColorMode:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inner-application-applicationcontext-V5

2.2 监听深浅色切换事件,自行实现深浅色模式:this.context.config.colorMode以及onConfigurationOnUpdate监听颜色模式。

姓名

张三

职位

软件工程师

基本信息

  • 所在地:北京市
  • 工作年限:5年
  • 毕业院校:清华大学

个人简介

资深软件开发工程师,专注于Java和Python编程。

项目经验

项目一:在线教育平台

  • 描述:开发了一个支持多语言的在线教育平台。
  • 责任:负责后端服务的设计与实现。
  • 时间:2018 - 至今

项目二:企业级CRM系统

  • 描述:构建了一个高效的企业客户关系管理系统。
  • 责任:参与系统架构设计,负责部分核心模块的编码工作。
  • 时间:2016 - 2018

HarmonyOS 鸿蒙Next Map Kit 深色模式适配,主要需通过以下步骤实现:

  1. 配置文件设置: 在应用的config.json文件中,确保已声明对深色模式的支持。检查或添加与显示模式相关的配置,确保系统能够识别并应用你的深色模式设置。

  2. 主题资源适配: 为Map Kit创建对应的深色模式主题资源。这通常包括定义深色模式下的地图样式、颜色等,确保地图在不同模式下都能保持视觉一致性。

  3. 代码逻辑处理: 在代码中监听系统主题变化事件,并根据当前主题(浅色或深色)动态调整Map Kit的样式。使用鸿蒙提供的API来判断当前系统主题,并据此加载相应的地图资源或样式。

  4. 测试验证: 在模拟器和真实设备上分别测试深色模式下的Map Kit显示效果,确保所有功能正常且视觉体验良好。

  5. 发布更新: 完成适配并测试通过后,发布应用更新,让用户在深色模式下也能获得优质的地图服务体验。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部