我有一个nativescript应用。我遇到一种情况,我需要动态显示文本,所以我不知道会有多少文本和多少行。
文本需要多行换行,并且必须始终在水平方向上居中对齐(不是垂直,左右两侧的距离相同)。
因此,我猜<Label>
不是正确的元素,因为它不是用于多行的(如果我理解正确?!)。
所以我选择了<TextView>
,但是这里的样式text-align: center
被忽略了。
因此,在文档中,我找到了构造函数 textAlignment https://docs.nativescript.org/api-reference/modules/_ui_text_base_#textalignment,但我无法使其正常工作。
不起作用:
<TextView text="{{ taskString }}"
horizontalAlignment="center"
editable="false"
></TextView>
不起作用:
<TextView text="{{ taskString }}"
textAlignment="center"
editable="false"
></TextView>
请让我知道,很明显我没来过这里。谢谢。
更新:
带有textWrap="true"
的标签通常可以正常工作。但是我有一个“复杂”的<ContentView> <FlexboxLayout>
组合,这似乎引起了Label高度无法更新的问题。
我的解决方案:
只是不要使用<FlexboxLayout> <FlexboxLayout> ... </FlexboxLayout> </FlexboxLayout>
解决方案。那不会动态计算Label的高度。
本地游乐场: https://play.nativescript.org/?template=play-ng&id=SnNmkQ
答案 0 :(得分:1)
如果启用textWrap
XML
<Label text="{{ taskString }}" textWrap="true" ...
或
CSS
Label {
white-space: normal;
}