HarmonyOS鸿蒙Next中获取控件高度和加载本地图片的问题
HarmonyOS鸿蒙Next中获取控件高度和加载本地图片的问题
-
请问如何在控件的ontouch方法里获取控件的高度
-
请问image控件怎么通过文件路径加载手机本地目录,应用文件下的图片文件
1、onTouch方法会获得TouchEvent对象,其中包含EventTarget:触发事件的元素对象显示区域 Area,参考:
.onTouch((event?: TouchEvent) => {
if(event?.target){
let height = event.target.area.height;
}
})
2、image控件加载图片资源可以参考: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-graphics-display-V5
Image组件不能直接传入应用沙箱路径,需要传入应用沙箱uri。
Image的src支持file://路径前缀的字符串,应用沙箱URI:file:///<bundleName>/<sandboxPath>。用于读取本应用安装目录下files文件夹下的图片资源。需要保证目录包路径下的文件有可读权限。参考文档:
通过调用@ohos.file.fileuri模块的fileuri.getUriFromPath将沙箱路径转化为沙箱uri,参考文档:
更多关于HarmonyOS鸿蒙Next中获取控件高度和加载本地图片的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)Next中,获取控件高度和使用本地图片可以通过以下方式实现:
-
获取控件高度:
- 使用
measure
方法测量控件尺寸。例如:let view = this.$element('viewId'); view.measure((width, height) => { console.log('控件高度:', height); });
measure
方法会返回控件的宽度和高度。
- 使用
-
加载本地图片:
- 将图片资源放在
resources
目录下,例如resources/base/media/image.png
。 - 在
hml
文件中使用<image>
标签加载图片:<image src="{{ $media('image.png') }}"></image>
- 在
js
文件中可以通过$media
函数获取图片路径。
- 将图片资源放在
这些方法适用于HarmonyOS Next开发,能够满足基本的控件高度获取和本地图片加载需求。