HarmonyOS C++ NativeDrawing未提供对应Text组件的lineSpacing和lineHeight接口

文本测量需要支持 lineSpacing 和 lineHeight,

并未发现 C++ 层 NativeDrawing 模块有提供对应的设置属性

有 fontHeight 属性,但不是 lineHeight

没有 lineSpacing 属性,FontMetric 需要等测量之后才能获取

lineSpacing 和 lineHeight 对标 Text 组件上的属性

HarmonyOS
2024-12-27 15:41:11
1108浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zxjiu

接口不是一一对应的, lineHeight 和 lineSpaceing是组件开出去的接口,ArkUI经过计算还是要给我们设置 fontHegiht。

如果设置了fontHegiht ,fontHeight * fontSize 就等于我们这边的行高,所以如果想要设置具体的行高,那就计算好传入fontHeight 就好了。

简单说就是,字体本身没有 lineHeight 和 lineSpaceing接口。 设置好fontHegiht可以达到相同的效果。

尝试一下以下计算方法:

设置lineHeight未设置lineSpaceing: heightscale = lineHeight / fontsize

未设置lineHeight设置lineSpaceing: heightscale = 1+ lineSpaceing/ fontsize

设置lineHeight设置lineSpaceing:heightscale = lineHeight / fontsize + lineSpaceing/ fontsize

分享
微博
QQ
微信
回复
2024-12-27 18:27:35


相关问题
鸿蒙系统为C/C++提供了哪些接口
492浏览 • 1回复 待解决
HarmonyOS C++ArkTS交互
1031浏览 • 1回复 待解决
如何为 C++ 提供回调函数?
3592浏览 • 1回复 待解决
需要提供c++到js通信demo
1382浏览 • 1回复 待解决
ArkTSC++之间交互
2565浏览 • 1回复 待解决
HarmonyOS ETSc++层通信
1005浏览 • 1回复 待解决
HarmonyOS C++ VideoDecoder组件使用
962浏览 • 1回复 待解决
c++ 有vp2px 接口么?
2777浏览 • 1回复 待解决
ArkTS层通过接口访问C++层对象
1279浏览 • 1回复 待解决
HarmonyOS ArkTsC++实时通信
1062浏览 • 1回复 待解决