Xamarin.Forms
Platformspecifieke visuele aanpassingen
Zoeken…
Idioom aanpassingen
Idioomspecifieke aanpassingen kunnen worden gedaan vanuit C # code, bijvoorbeeld voor het wijzigen van de lay-outoriëntatie, ongeacht of de weergave wordt getoond of een telefoon of een tablet.
if (Device.Idiom == TargetIdiom.Phone)
{
this.panel.Orientation = StackOrientation.Vertical;
}
else
{
this.panel.Orientation = StackOrientation.Horizontal;
}
Die functionaliteiten zijn ook rechtstreeks verkrijgbaar bij XAML-code:
<StackLayout x:Name="panel">
<StackLayout.Orientation>
<OnIdiom x:TypeArguments="StackOrientation">
<OnIdiom.Phone>Vertical</OnIdiom.Phone>
<OnIdiom.Tablet>Horizontal</OnIdiom.Tablet>
</OnIdiom>
</StackLayout.Orientation>
</StackLayout>
Platform aanpassingen
Aanpassingen kunnen worden gedaan voor specifieke platforms van C # code, bijvoorbeeld voor het veranderen van opvulling voor alle gerichte platforms.
if (Device.OS == TargetPlatform.iOS)
{
panel.Padding = new Thickness (10);
}
else
{
panel.Padding = new Thickness (20);
}
Er is ook een hulpmethode beschikbaar voor verkorte C # -aangiften:
panel.Padding = new Thickness (Device.OnPlatform(10,20,0));
Die functionaliteiten zijn ook rechtstreeks verkrijgbaar bij XAML-code:
<StackLayout x:Name="panel">
<StackLayout.Padding>
<OnPlatform x:TypeArguments="Thickness"
iOS="10"
Android="20" />
</StackLayout.Padding>
</StackLayout>
Stijlen gebruiken
Wanneer u met XAML werkt, kunt u met een gecentraliseerde Style
een reeks gestileerde weergaven vanaf één plaats bijwerken. Alle aanpassingen van het idioom en platform kunnen ook in uw stijlen worden geïntegreerd.
<Style TargetType="StackLayout">
<Setter Property="Padding">
<Setter.Value>
<OnPlatform x:TypeArguments="Thickness"
iOS="10"
Android="20"/>
</Setter.Value>
</Setter>
</Style>
Aangepaste weergaven gebruiken
U kunt aangepaste weergaven maken die met uw pagina kunnen worden geïntegreerd dankzij die aanpassingstools.
Selecteer File > New > File... > Forms > Forms ContentView (Xaml)
en maak een weergave voor elke specifieke lay-out: TabletHome.xaml
en PhoneHome.xaml
.
Selecteer vervolgens File > New > File... > Forms > Forms ContentPage
en maak een HomePage.cs
met:
using Xamarin.Forms;
public class HomePage : ContentPage
{
public HomePage()
{
if (Device.Idiom == TargetIdiom.Phone)
{
Content = new PhoneHome();
}
else
{
Content = new TabletHome();
}
}
}
U hebt nu een HomePage
die een andere weergavehiërarchie voor Phone
en Tablet
idioom maakt.