HarmonyOS 鸿蒙Next Text组件使用stateStyles属性设置不同状态下文本颜色不生效

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Text组件使用stateStyles属性设置不同状态下文本颜色不生效

Text('Test')
  .stateStyles({
    normal: { .fontColor($r('app.color.color_invariant_ffffff')).borderColor($r('app.color.color_invariant_ffffff'))
    },
    pressed: { .fontColor($r('app.color.color_invariant_9A9A9A')).borderColor($r('app.color.color_invariant_9A9A9A'))
    },
    disabled: { .fontColor($r('app.color.color_invariant_9A9A9A')).borderColor($r('app.color.color_invariant_9A9A9A'))
    }
  })
  .constraintSize({ minWidth: 30 })
  .padding(1)
  .fontSize(14)
  .borderWidth(1)
  .borderRadius(1)
  .textAlign(TextAlign.Center)
  .enabled(true)
  .onClick(() => {
  })

更多关于HarmonyOS 鸿蒙Next Text组件使用stateStyles属性设置不同状态下文本颜色不生效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

多态样式仅支持通用属性,fontColor不属于通用属性,因此不生效。您可以尝试使用attributeModifier

动态属性设置:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-attribute-modifier-V5#%E7%A4%BA%E4%BE%8B1

更多关于HarmonyOS 鸿蒙Next Text组件使用stateStyles属性设置不同状态下文本颜色不生效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next Text组件使用stateStyles属性设置不同状态下文本颜色不生效的问题,通常与属性配置或状态管理有关。请检查以下几点:

  1. 属性格式:确保stateStyles属性的格式正确,每个状态对象中的color属性应正确设置颜色值(如十六进制颜色代码或颜色资源)。

  2. 状态匹配:确认设置的状态(如pressedfocuseddisabled等)与实际组件的状态相匹配。如果状态未触发,样式自然不会生效。

  3. 组件层级:检查Text组件是否在某个父组件的样式覆盖下。父组件的样式可能会覆盖子组件的stateStyles设置。

  4. 样式优先级:确认是否有其他样式属性(如直接在Text组件上设置的color)覆盖了stateStyles中的设置。

  5. 版本兼容性:确认使用的HarmonyOS版本是否支持stateStyles属性的所有功能。不同版本可能存在功能差异。

  6. 代码示例:确保代码示例无误,可以参考官方文档或示例代码进行比对。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部