<Text
numberOfLines={1}
style={{
maxWidth: 60,
textAlign: 'center',
color: '#262626',
fontSize: 14,
lineHeight: 30,
backgroundColor: 'red',
}}>
{'定位中'}
</Text>
设置了lineHeight,文字不在中间在偏下位置,设置了textAlignVertical: 'center'也不管用。
<Text
numberOfLines={1}
style={{
maxWidth: 60,
textAlign: 'center',
color: '#262626',
fontSize: 14,
lineHeight: 30,
backgroundColor: 'red',
}}>
{'定位中'}
</Text>
设置了lineHeight,文字不在中间在偏下位置,设置了textAlignVertical: 'center'也不管用。
1 回答879 阅读✓ 已解决
1 回答1.2k 阅读
1 回答1k 阅读
1 回答968 阅读
1 回答940 阅读
1 回答842 阅读
1 回答799 阅读
text组件的height和lineHeight设置的是Text本身的属性,若是设置文本相对于文本框的位置可以使用lineHeight配合padding实现垂直居中。若是设置文本框相对于父组件的垂直居中,可以通过.justifyContent(FlexAlign.Center)设置父组件中子元素主轴上居中,通过.alignItems(HorizontalAlign.Center)/.alignItems(VerticalAlign.Center)设置纵向/横向布局父组件中子元素在交叉轴上居中。或者在module.json5的module中添加:
值得注意的是,该方法谨慎使用,因为是对当前hap整体生效的,可能会影响其他的已经开发好的Text显示。例如如果其他Text使用lineHeight和padding已经调整了居中,但是又设置了这个属性,会导致原来已经居中的不再居中。