HarmonyOS RNOH Text组件设置了lineHeight文字不居中

<Text
numberOfLines={1}
style={{
  maxWidth: 60,
  textAlign: 'center',
  color: '#262626',
  fontSize: 14,
  lineHeight: 30,
  backgroundColor: 'red',
}}>
{'定位中'}
</Text>

设置了lineHeight,文字不在中间在偏下位置,设置了textAlignVertical: 'center'也不管用。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

text组件的height和lineHeight设置的是Text本身的属性,若是设置文本相对于文本框的位置可以使用lineHeight配合padding实现垂直居中。若是设置文本框相对于父组件的垂直居中,可以通过.justifyContent(FlexAlign.Center)设置父组件中子元素主轴上居中,通过.alignItems(HorizontalAlign.Center)/.alignItems(VerticalAlign.Center)设置纵向/横向布局父组件中子元素在交叉轴上居中。或者在module.json5的module中添加:

"metadata": [{
  "name": "half_leading",
  "value": "true"
}],

值得注意的是,该方法谨慎使用,因为是对当前hap整体生效的,可能会影响其他的已经开发好的Text显示。例如如果其他Text使用lineHeight和padding已经调整了居中,但是又设置了这个属性,会导致原来已经居中的不再居中。

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS Text设置align居中
697浏览 • 1回复 待解决
HarmonyOS 文字行高设定后文字居中
503浏览 • 1回复 待解决
HarmonyOS Text组件如何设置文字方向
160浏览 • 1回复 待解决
HarmonyOS 文字在Row中居中
213浏览 • 1回复 待解决
HarmonyOS text组件设置width
234浏览 • 1回复 待解决
HarmonyOS Text部分文字高亮设置
176浏览 • 1回复 待解决
HarmonyOS 弹窗文字居中
14浏览 • 1回复 待解决
画布绘制文字,垂直居中
459浏览 • 1回复 待解决
HarmonyOS Text组件是否支持文字描边
158浏览 • 1回复 待解决
HarmonyOS 设置icon和label生效
459浏览 • 1回复 待解决
HarmonyOS text组件设置copyOption
22浏览 • 1回复 待解决