HarmonyOS 鸿蒙Next中float.json文件中的配置如何在代码中生效?

HarmonyOS 鸿蒙Next中float.json文件中的配置如何在代码中生效? 这个练习中,想在float.json中定义一个新的尺寸,但不知道怎么配置,才能在代码中生效,求大佬解答!!!谢谢!!!

cke_419.png

cke_140.png


更多关于HarmonyOS 鸿蒙Next中float.json文件中的配置如何在代码中生效?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复
// 资源文件路径: src/main/resources/base/element/string.json
{
  "string": [
    {
      "name": "test",
      "value": "I'm a test string resource."
    }
  ]
}

import { BusinessError } from '@kit.BasicServicesKit';

this.context.resourceManager.getStringByName("test", (error: BusinessError, value: string) => {
  if (error != null) {
    console.error(`callback getStringByName failed, error code: ${error.code}, message: ${error.message}.`);
  } else {
    console.log(`getStringByName, result: ${value}`);
    // 打印输出结果: getStringByName, result: I'm a test string resource.
  }
});

更多关于HarmonyOS 鸿蒙Next中float.json文件中的配置如何在代码中生效?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


多谢大佬回复。 我估计还得学一下,目前还看得不是很懂。

在HarmonyOS Next中,float.json的配置通过系统自动加载生效。该文件定义了窗口悬浮属性,系统会在应用启动时解析并应用这些配置。开发者无需手动加载该文件,只需确保文件路径正确(entry/src/main/resources/base/float.json)。配置项如"windowLayout"中的"type":"float"会自动作用于Ability的窗口行为。通过@ohos.window接口可获取当前窗口实例,但不需要额外代码使float.json生效。

在HarmonyOS Next中,float.json文件用于定义全局尺寸资源。要让配置在代码中生效,需要以下步骤:

  1. 在float.json中正确配置尺寸值,例如:
{
  "float": [
    {
      "name": "my_size",
      "value": "20.0vp"
    }
  ]
}
  1. 在代码中通过资源管理器引用:
import resmgr from '@ohos.resourceManager';

// 获取资源
let value = resmgr.getInstance().getFloatByName('my_size');
  1. 或者在布局文件中直接引用:
<Text
  width="{{ $float('my_size') }}"
  height="{{ $float('my_size') }}"
  text="Hello"/>

注意:

  • 确保float.json文件在resources/base/element目录下
  • 使用vp单位确保适配不同屏幕
  • 修改后需要重新编译才能生效
回到顶部