Xamarin中的自动缩放标签字体大小

时间:2018-11-02 11:44:23

标签: c# xamarin xamarin.android autoscaling

        <Label x:Name="mainLabel" 
           Grid.Row="0" 
           Grid.Column="0" 
           FontSize="50" 
           Grid.ColumnSpan="3"
           Grid.RowSpan="2"
           VerticalOptions="CenterAndExpand" 
           HorizontalOptions="CenterAndExpand" />

我正在建立电话拨号界面,并且我有一个标签,用于输出所按的号码。

问题:如何使标签的字体大小根据键入的数字而减小和增大,以使其适合标签?

我整天尝试使用谷歌搜索,但所有样本均已过时。

我正在使用最新版本的Xamarin和android API 27

1 个答案:

答案 0 :(得分:4)

您可以具有为Label设置了绑定属性的FontSize。

例如:

<Label x:Name="mainLabel" 
           Grid.Row="0" 
           Grid.Column="0" 
           FontSize= "{Binding LabelFont}"
           Grid.ColumnSpan="3"
           Grid.RowSpan="2"
           VerticalOptions="CenterAndExpand" 
           HorizontalOptions="CenterAndExpand" />

对于标签,您可以触发TextChanged事件,在该事件中,您检查标签文本的长度是否超过了将值更改为所需大小的长度,并且还检查了小于值的长度。

标签的

TextChanged事件可以如本link

所述实现