【发布时间】:2023-03-30 07:35:01
【问题描述】:
在 nativescript 中,我对 GridLayout 中的 StackLayout 有一些问题。我无法在 StackLayout 中心垂直对齐标签。
这是我想要实现的图片:
在这里你可以看到,我希望感叹号图标垂直居中。
但不幸的是,我不断收到这个:
这是我使用的代码:
tns.html
<GridLayout class="formMessage warning" columns="auto,*" rows="auto">
<StackLayout col="0" class="formMessageIcon">
<Label class="icon fa" [text]="'fa-exclamation-circle' | fonticon"></Label>
</StackLayout>
<Label col="1" class="formMessageText" text="lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet" textWrap="true"></Label>
</GridLayout>
CSS
.formMessage {
width: 100%;
border-width: 2;
border-color: #ff344e;
}
.formMessageIcon {
background-color: #ff344e;
width: 30;
}
.icon {
vertical-align: center;
text-align: center;
margin-right: 2;
font-size: 18;
color: #2b3535;
}
.formMessageText {
padding: 5 8;
color: #ff344e;
}
如何解决图标居中问题?我做错了什么?非常感谢!
【问题讨论】:
-
您可以尝试将 verticalAlignment="center" 添加到 StackLayout 中,并尝试将这两个列都设为“,”而不是 auto,* 吗?
-
尝试在
StackLayout内指定Label的height -
当我将verticalAlignment="center" 添加到StackLayout 时,左边部分不会被红色填充,只需用图标将其挤压到中心即可。所以它将居中,但不仅仅是图标。我将尝试添加图标的高度,谢谢,我们会看到它。 (此外,如果我向 StackLayout 添加指定的高度,那么问题就会消失,但它应该是动态的,具体取决于 lorem ipsum 标签。Min-height 没有帮助。:()
-
添加图标(标签)的高度没有帮助。 :(
标签: android css mobile nativescript