Размер шрифта, зависящего от разрешения, в Xamarin

Я новичок в Xamarin и борюсь с моим первым приложением. У меня есть изображение с надписью над ним. Таким образом я создаю пользовательский фон ввода.

Размер шрифта записи не будет масштабироваться на разных устройствах с разными разрешениями. Когда я отрегулирую размер шрифта для устройства A и теперь проверяю одно и то же приложение на устройстве B, размер шрифта слишком большой.

Я также попытался установить размер шрифта динамически в коде Android, как описано здесь: http://developer.xamarin.com/recipes/android/resources/device_specific/detect_screen_size/

Но это все еще не дает результата, который я хочу. Также нет определения процента, как в RelativeLayout.

Я просто хочу, чтобы мой размер шрифта оставался таким же, как размер экрана, поэтому запись всегда находится в границах фонового изображения.

Я надеюсь, что кто-нибудь может помочь мне с этим или дать мне подсказку об обходном пути.

Ответ 1

Я предполагаю, что вы используете Xamarin.Android, а не Xamarin Forms - вам не нужно изменять размер шрифта в коде. Вместо этого укажите fontSize как в стиле, так и в самом элементе управления и используйте 'sp', а не px или dp (например, android: fontSize = '16sp'.

Использование 'sp' (масштабированные пиксели) будет масштабироваться соответствующим образом в зависимости от пользовательского dpi (вы можете увидеть более подробное объяснение здесь.