当前,我正在使用此渲染器设置文本大小的样式:
<local:StyledLabel YAlign="Center" Text="Buttons" HorizontalOptions="StartAndExpand" />
public class StyledLabel : Label
{
public StyledLabel()
{
if (Device.RuntimePlatform == Device.Android)
{
Style = Device.Styles.CaptionStyle;
}
else if (Device.RuntimePlatform == Device.iOS)
{
Style = Device.Styles.ListItemTextStyle;
}
}
}
是否可以在资源XAML中执行类似的操作,以使iOS或Android的大小不同?
答案 0 :(得分:1)
在XAML中,您可以这样指定不同的值:
<local:StyledLabel YAlign="Center" Text="Buttons" HorizontalOptions="StartAndExpand" />
<local:StyledLabel.Style>
<OnPlatform x:TypeArguments="Style">
<OnPlatform.Platforms>
<On Platform="iOS" Value="{StaticResource CaptionStyle}" />
<On Platform="Android" Value="{StaticResource ListItemTextStyle}" />
</OnPlatform.Platforms>
</OnPlatform>
</local:StyledLabel.Style>
...
</local:StyledLabel>
此处有更多信息:https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-basics/essential-xaml-syntax
不建议使用YAlign
,VerticalTextAlignment
。