Ответ 1
Xamarin.Forms имеет философию использования соглашений базовых платформ так же, как и возможное. В соответствии с этой философией программист Xamarin.Forms работает с определенными размерами каждой конкретной платформой. Все размеры, с которыми программист сталкивается через API Xamarin.Forms находятся в этих независимых от платформы единицах, не зависящих от платформы. (c)
В форматах Xamarin эти числа имеют отношения с дюймами и сантиметры на определенной платформе. См. Ниже:
Это отношения в дюймах
- iOS: 160 единиц на дюйм
- Android: 160 единиц на дюйм
- Windows Phone: 240 единиц на дюйм
Это отношения в сантиметрах, если вы предпочитаете метрическую систему
- iOS: 64 единицы к сантиметру
- Android: 64 единицы до сантиметров
- Телефон Windows: от 96 единиц до сантиметров.
Например, если вы хотите, чтобы вы отображали изображение шириной 1 дюйм и высотой 2 дюйма, вы бы сделали:
var avatar = new Image{
WidthRequest = Device.OnPlatform(160, 160, 240),
HeightRequest = Device.OnPlatform(320, 320, 480)
};
Такая же концепция применяется к интервалу и заполнению. Эти параметры также имеют значения по умолчанию. Начальные настройки являются "макетными" значениями -1. Значения этих свойств становятся действительными только тогда, когда система макета позиционирует и определяет все на странице.
Надеюсь, это поможет!
Подробнее об этом можно узнать из книги "Создание мобильных приложений с форматами Xamarin"