Nativescript – textView、动态文本和多行中的居中水平文本
Nativescript – center horizontal text inside textView, dynamic text and multiline
我有一个 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"
的标签通常工作得很好。但是我有一个 "complex" <ContentView> <FlexboxLayout>
组合,这似乎导致标签的高度没有得到更新的问题。
我的解决方案:
只是不要使用 <FlexboxLayout> <FlexboxLayout> ... </FlexboxLayout> </FlexboxLayout>
解决方案。那不会动态计算Label的高度。
Nativescript 游乐场:
https://play.nativescript.org/?template=play-ng&id=SnNmkQ
如果启用 textWrap
,标签可以是多行的
XML
<Label text="{{ taskString }}" textWrap="true" ...
或
CSS
Label {
white-space: normal;
}
我有一个 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"
的标签通常工作得很好。但是我有一个 "complex" <ContentView> <FlexboxLayout>
组合,这似乎导致标签的高度没有得到更新的问题。
我的解决方案:
只是不要使用 <FlexboxLayout> <FlexboxLayout> ... </FlexboxLayout> </FlexboxLayout>
解决方案。那不会动态计算Label的高度。
Nativescript 游乐场: https://play.nativescript.org/?template=play-ng&id=SnNmkQ
如果启用 textWrap
XML
<Label text="{{ taskString }}" textWrap="true" ...
或
CSS
Label {
white-space: normal;
}