HAP中如何引用HAR包中resources目录的element目录、media目录和rawfile目录资源

HAP中如何引用HAR包中resources目录的element目录、media目录和rawfile目录资源

HarmonyOS
2024-03-17 11:45:59
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
伊普洛先生
  • HAP中访问HAR包中resources目录的element元素资源、media媒体资源

可以通过“$r('app.type.name')”形式引用。其中,app为应用内resources目录中定义的资源;type为资源类型或资源的存放位置,取值包含“color”、“float”、“string”、“plural”、“media”;name为资源命名,由开发者定义资源时确定。

例如在HAR包的“\library\src\main\resources\base\media”目录中有“iconHar.png”文件。

在HAP中的“entry\src\main\ets\pages\Index.ets”文件中通过“$r('app.type.name')”形式引用即可。

@Entry 
@Component 
struct Index { 
  build() { 
    Row() { 
      Column() { 
        Image($r('app.media.iconHar')) 
          .width(100) 
          .height(100) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
  • HAP中访问HAR包中resources目录的rawfile原始文件资源。

例如在HAR包(不妨设名称为library)的“\library\src\main\resources\rawfile”目录中有“iconHar.png”文件。

a.在HAR包中将rawfile目录下的“iconHar.png”文件封装成一个方法,例如在“\library\src\main\ets\components\mainpage\MainPage.ets”文件中封装一个方法。

export function rawFileIconHarPng() { 
  return $rawfile('iconHar.png'); 
}

b.在“\library\Index.ets”文件中导出rawFileIconHarPng()方法。

export { rawFileIconHarPng } from './src/main/ets/components/mainpage/MainPage'

c.在HAP中的“entry\src\main\ets\pages\Index.ets”文件中通过导入rawFileIconHarPng()方法后直接使用即可。

import { rawFileIconHarPng } from 'library'; 
 
@Entry 
@Component 
struct Index { 
  build() { 
    Row() { 
      Column() { 
        Image(rawFileIconHarPng()) 
          .width(100) 
          .height(100) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-03-17 21:39:38
相关问题
如何动态访问media目录资源
2099浏览 • 1回复 待解决
鸿蒙如何读取resources目录文件
3497浏览 • 1回复 待解决
如何引用非本地目录HSP
1727浏览 • 1回复 待解决
如何修改spark资源上传目录
2027浏览 • 1回复 待解决
canvas怎么绘制资源目录图片
665浏览 • 1回复 待解决