我正在使用Xamarin Forms。我的一些标签是经过右调整的(即TextAlignment = TextAlignment.End
),最后有一个空白字符,以便在右端留出一点余量。这适用于Android设计。但是,看起来iOS只是忽略了尾随空格。
左侧调整标签的领先空间可在两个平台上正常运行。
我尝试了除"\u0020"
以外的其他空白字符:"\u00A0"
,"\u2000"
,"\u202F"
等.iOS忽略了它们。
我无法使用Label.Margin
,因为我的标签有不同的BackgroundColor
,整个想法是在文本的右侧留一点这种颜色的空间。 Margin
被认为是在标签之外,因此背景颜色不会延伸到那里。
将标签放在ContentView
内,Padding
是唯一的解决方案吗?
答案 0 :(得分:0)
你是正确的:我们需要增加标签Padding
,而Margin
不会完成此任务!
问题是Label
没有Padding
属性。
我建议在包含BackgroundColor
的布局中设置Padding
和Label
:
BackgroundColor
BackgroundColor
分配给布局Padding
var stackLayout = new StackLayout
{
Children = { rightJustifiedLabel },
BackgroundColor = Color.Red,
Padding = new Thickness(0, 0, 5, 0)
}
public class App : Application
{
public App()
{
MainPage = new LabelPage();
}
}
public class LabelPage : ContentPage
{
public LabelPage()
{
var rightJustifiedLabel = new Label
{
Text = "Right-Justified Label",
HorizontalTextAlignment = TextAlignment.End,
};
Content = new StackLayout
{
Children = { rightJustifiedLabel },
BackgroundColor = Color.Red,
Padding = new Thickness(0, 0, 5, 0),
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.Center
};
}
}