在NativeScript布局中居中和右/左对齐项目

在NativeScript布局中居中和右/左对齐项目,nativescript,Nativescript,在NativeScript应用程序的环境中,我一直在努力寻找一种高效、非黑客的方法来完成看似简单的事情:将一个项目放在版面的中心,另一个项目放在版面的左右两侧,类似于这个问题中的图像:。所有项目都应该在一行中,因为它们在那里。(我已经看过了这些解决方案,但我不想添加伪元素,而且很多CSS都不能与NativeScript一起使用。)是否有某种干净、规范的方法来处理默认布局? 如果这还不够“具体”,那么假设我有这样一个场景: <SomeLayout> <Label text="

在NativeScript应用程序的环境中,我一直在努力寻找一种高效、非黑客的方法来完成看似简单的事情:将一个项目放在版面的中心,另一个项目放在版面的左右两侧,类似于这个问题中的图像:。所有项目都应该在一行中,因为它们在那里。(我已经看过了这些解决方案,但我不想添加伪元素,而且很多CSS都不能与NativeScript一起使用。)是否有某种干净、规范的方法来处理默认布局? 如果这还不够“具体”,那么假设我有这样一个场景:

<SomeLayout>
  <Label text="Center me"></Label>
  <Label text="Pull me to the right"></Label>
</SomeLayout>


标签的文本属性描述了我要查找的内容。请测试任何建议或确保它们有效。

您可以将
水平对齐
网格布局
一起使用,方法是对两个标签应用相同的行号

<GridLayout rows="auto" columns="*">
  <Label row="0" horizontalAlignment="center" text="Center me" class="center"></Label>
  <Label row="0" horizontalAlignment="right" text="Pull me to the right" class="right"></Label>
</GridLayout>

主要的诀窍是,你必须给标签指定相同的行号,以便它们彼此重叠。

如果没有空间来设置
使我居中
在一行中将我向右拉
,那该怎么办?@bhavinjalodara只需假设有足够的空间。因此,标签的文本可能只是“c”和“r”,字体大小非常小,保证不会出现空间问题。有什么特别的原因,你不想使用Flexbox来实现这一点吗?使容器弯曲,使第一个标签居中,并添加
左边距:自动
到第二个标签,用边距填充多余的空间。@code我可以很容易地用它来完成。但是,它不适用于NativeScript的FlexboxLayout(即使使用FlexboxLayout中不需要的
display:flex
)。他们所能做的有限,因为它必须在iOS和Android中具有相关性。事实上,我当时很忙,没有对照目标检查这一点;我忘了将第一个项目居中。。。但是在NativeScript中,边距技巧无论如何都失败了完美!我只在水平堆叠布局中尝试过,根本不起作用。这是一个巨大的帮助
.center{
    horizontal-align:center;
}
.right{
    horizontal-align:right;
}