HarmonyOS relativeContainer设置guideLine属性

relativeContainer设置guideLine属性,即使设置高度为auto且没有__container__的anchor,但是容器不能自适应内容高度,这种情况怎么自适应高度?HarmonyOS relativeContainer设置guideLine属性 -鸿蒙开发者社区解决方案

目前在设置guideLine的时候会默认以容器为锚点,relativeContainer就自适应到父容器大小。

HarmonyOS maxFontSize minFontSize会因为系统设置显示大小最后导致显示出问题 ,即使使用px作为单位 改变显示大小的时候依然会有影响 <a name="section974195115110"></a>

HarmonyOS
2024-12-26 16:20:52
1191浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

有些场景下,需要UI不跟随系统显示大小改变而改变,字体大小不跟随显示大小和字体大小改变而改变,同时又需要做多语言适配的场景,这时候发现maxFontSize minFontSize即使设置为px为单位,也会随显示大小改变而改变最终显示大小。此时只能自己写一种自适应的方案,自己计算大小:

/**
   * 获取合适的字体大小
   *
   * @param res Resource
   * @param minFontSize minFontSize
   * @param maxFontSize maxFontSize
   * @param maxWidth 所处控件的宽度
   * @returns 字体大小
   */
  getProperSize(res: Resource, minFontSize: number, maxFontSize: number, maxWidth: number) {
    const px = 'px';
    if (minFontSize > maxFontSize) {
      return maxFontSize + px;
    }
    let size = maxFontSize;
    while (true) {
      let curWidth = MeasureText.measureText({
        textContent: res,
        fontSize: size + px
      });
      if (size <= minFontSize || curWidth <= maxWidth) {
        break;
      }
      size--;
    }
    return size + px;
  }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

此方法用于寻找min到max之间最大满足文本完全显示的最大px值(设置fontSize 设置为px值 不跟随显示大小和字体大小),此时的字体大小只和文本内容(语言环境)以及所处控件的宽度有关。具体使用参考:

Text(this.text)
  .fontSize(this.getProperSize(this.text, entranceStyle.buttonMinFontSize, entranceStyle.buttonFontSize, 144))
  .fontFamily(entranceStyle.buttonFontFamily)
  .fontColor(entranceStyle.buttonFontColor)
  .maxLines(entranceStyle.buttonTextMaxLine)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
分享
微博
QQ
微信
回复
2024-12-26 18:45:12
相关问题
HarmonyOS RelativeContainer宽高设置问题
527浏览 • 1回复 待解决
HarmonyOS 属性字符如何设置
446浏览 • 1回复 待解决
HarmonyOS Span的属性设置失效
571浏览 • 1回复 待解决
HarmonyOS RelativeContainer组件
469浏览 • 1回复 待解决
HarmonyOS 组件设置属性无效果
1141浏览 • 1回复 待解决
SideBarContainer如何设置controlButton属性
2501浏览 • 1回复 待解决
HarmonyOS RelativeContainer 组件咨询
999浏览 • 1回复 待解决
Web组件domStorageAccess属性设置
3095浏览 • 1回复 待解决
HarmonyOS RelativeContainer相关问题
736浏览 • 1回复 待解决
通过API获取系统设置属性
1073浏览 • 1回复 待解决
HarmonyOS RelativeContainer的使用问题
517浏览 • 1回复 待解决
HarmonyOS Scroll 嵌套 RelativeContainer 问题
1249浏览 • 1回复 待解决
HarmonyOS RelativeContainer的居中问题
1278浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人