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
浏览
收藏 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;
  }

此方法用于寻找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)
分享
微博
QQ
微信
回复
2024-12-26 18:45:12
相关问题
HarmonyOS RelativeContainer宽高设置问题
241浏览 • 1回复 待解决
HarmonyOS 属性字符如何设置
156浏览 • 1回复 待解决
HarmonyOS 组件设置属性无效果
807浏览 • 1回复 待解决
HarmonyOS Span的属性设置失效
228浏览 • 1回复 待解决
HarmonyOS RelativeContainer组件
180浏览 • 1回复 待解决
Web组件domStorageAccess属性设置
2583浏览 • 1回复 待解决
SideBarContainer如何设置controlButton属性
2138浏览 • 1回复 待解决
HarmonyOS RelativeContainer相关问题
370浏览 • 1回复 待解决
HarmonyOS RelativeContainer 组件咨询
687浏览 • 1回复 待解决
通过WindowProperties设置属性不生效
2492浏览 • 1回复 待解决
通过API获取系统设置属性
706浏览 • 1回复 待解决
HarmonyOS设置字符串属性问题
384浏览 • 1回复 待解决
相对布局(RelativeContainer
1721浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人