I am newbie to Xamarin development.
In android we have different values folder for multi-device support.
But In Xamarin forms how we give multi-device support for Android & iOS?
Anyone don't know about what is multi-device support pls check the sample document by Android
https://developer.android.com/guide/practices/screens_support.html
I want similar like this for Xamarin forms.
Note: I am asking about Xamarin forms not in native code.
Any suggestions or ideas are welcome. Thanks for your answers.
How to give multi-device support in Xamarin Forms
Xamarin.Forms XAML Support :
Xamarin.Forms
use the platform-specific mechanisms to calculate the absolute pixel dimensions. As Digitalsa1nt said, Xamarin.Forms
uses xaml
as it's base markup language for renderng displays, and converts this into the native counterparts at runtime. Usually, you don't have to care about the resolution, it will adjust the views based on your layout and constraints.
Some useful link about Xamarin.Forms multi-device support :
Bringing Xamarin.Forms Apps to Tablets
- Provides a few nice helper methods to extend the app for a better tablet experience
Device Class
- The Device class contains a number of properties and methods to help developers customize layout and functionality on a per-platform basis.
Layout for Tablet and Desktop apps
- Discuss about the supported device types, and how to optimize layouts for tablets versus phones.
Cross-platform Image optimisation
- Images can be shared across platforms with Xamarin.Forms, they can be loaded specifically for each platform, or they can be downloaded for display.
Master Detail Pages
- Ideal for focusing on just large screen devices
Update :
You could read this official document: Dealing with sizes and the related sample. It demonstrates many solutions to solve your problem :
- Platform-specific font size
- Metrical sizes
- Estimated font sizes
- Fitting text to available size
- Empirically fitting text
- A fit-to-size clock
- Accessibility issues
For example : the Platform-specific font size at no cost
In some cases we need to assign a different font size to controls based on the specific operating system's styles, avoiding hard-coded values. Through the Device class, Xamarin.Forms
makes this possible at no cost.
In your Page
OnAppearing()
method :
protected override void OnAppearing()
{
base.OnAppearing();
this.LargeLabel.FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label));
this.SmallLabel.FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label));
this.MediumLabel.FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label));
}
Effect :
![](https://www.manongdao.com/static/images/pcload.jpg)