Автоматическое масштабирование размера шрифта этикетки в Xamarin - PullRequest
0 голосов
/ 02 ноября 2018
        <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 голосов
/ 02 ноября 2018

Вы можете иметь 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 для Label можно реализовать, как указано в этой ссылке

...