在OpenHarmony以及HarmonyOS鸿蒙Next中如何访问系统资源

在OpenHarmony以及HarmonyOS鸿蒙Next中如何访问系统资源

访问系统资源

大家好,我是坚果,今天给大家分享一下在OpenHarmony以及HarmonyOS中如何访问系统资源,首先在这里。

这也是原子化服务实战中的一个彩蛋,发给大家。

原子化服务的更多内容,大家可以点开主页查看。

系统资源包含色彩、圆角、字体、间距、字符串及图片等。通过使用系统资源,不同的开发者可以开发出具有相同视觉风格的应用。

开发者可以通过$r('sys.type.resource_id')的形式引用系统资源。sys代表是系统资源;type代表资源类型,可以取"color""float""string""media";resource_id代表资源id。

开始之前我们直接上代码。

import hilog from '@ohos.hilog';
import testNapi from 'libentry.so'
import font from '@ohos.font';

@Entry
@Component
struct Index {
  @State message: string = '访问系统资源'

  aboutToAppear() {
    // font.registerFont({
    //   familyName: 'medium',
    //   familySrc: '/font/kuaile.ttf'
    // })
  }

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontColor($r('sys.color.ohos_fa_text_primary'))
          .fontSize($r('sys.float.ohos_id_text_size_headline4'))
          .fontFamily($r('sys.string.ohos_id_text_font_family_medium'))
          .backgroundColor($r('sys.color.ohos_fa_palette3'))
        Image($r('sys.media.ohos_app_icon'))
          .opacity($r("sys.float.ohos_fa_alpha_content_tertiary"))
          .border({
            color: $r('sys.color.ohos_id_color_palette_aux1'),
            radius: $r('sys.float.ohos_id_corner_radius_button'),
            width: 2
          })
          .margin({
            top: $r('sys.float.ohos_id_elements_margin_horizontal_m'),
            bottom: $r('sys.float.ohos_id_elements_margin_horizontal_l')
          })
          .height(200)
          .width(300)
      }
      .width('100%')
    }
    .height('100%').backgroundColor($r('sys.color.ohos_fa_palette5'))
  }
}

通过代码是不是也就很快明白了如何访问系统资源。

接下来大家比较好奇的是不是就是这些资源ID是如何得到的。这里有个表格就可以看到。


更多关于在OpenHarmony以及HarmonyOS鸿蒙Next中如何访问系统资源的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

请问font.registerFont的用法有介绍吗?我自己操作不会生效。

更多关于在OpenHarmony以及HarmonyOS鸿蒙Next中如何访问系统资源的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这是上面用到的表格,发现上午忘记上传了

cke_683.png

在OpenHarmony和HarmonyOS鸿蒙Next中,访问系统资源主要通过以下方式:

  1. API调用:使用系统提供的API接口,如@ohos.resourceManager模块,通过getResourceManager方法获取资源管理器,进而访问应用资源。

  2. 配置文件:在config.json中定义资源路径,系统会根据配置自动加载资源。

  3. 资源ID:通过资源ID访问具体资源,如字符串、图片等,使用this.context.resourceManager.getStringValue(resId)获取字符串资源。

  4. 权限管理:访问敏感资源需在config.json中声明相应权限,如ohos.permission.READ_MEDIA

确保遵循系统规范,合理使用资源,以保障应用性能和安全性。

回到顶部