Xamarin.Forms
Plattformspezifische visuelle Anpassungen
Suche…
Sprachanpassungen
Idiomspezifische Anpassungen können über den C # -Code vorgenommen werden, z. B. zum Ändern der Layout-Ausrichtung, unabhängig davon, ob die Ansicht angezeigt wird, ein Telefon oder ein Tablet.
if (Device.Idiom == TargetIdiom.Phone)
{
this.panel.Orientation = StackOrientation.Vertical;
}
else
{
this.panel.Orientation = StackOrientation.Horizontal;
}
Diese Funktionalitäten sind auch direkt aus XAML-Code verfügbar:
<StackLayout x:Name="panel">
<StackLayout.Orientation>
<OnIdiom x:TypeArguments="StackOrientation">
<OnIdiom.Phone>Vertical</OnIdiom.Phone>
<OnIdiom.Tablet>Horizontal</OnIdiom.Tablet>
</OnIdiom>
</StackLayout.Orientation>
</StackLayout>
Plattformanpassungen
Anpassungen können für bestimmte Plattformen vom C # -Code aus vorgenommen werden, z. B. zum Ändern der Auffüllung für alle Zielplattformen.
if (Device.OS == TargetPlatform.iOS)
{
panel.Padding = new Thickness (10);
}
else
{
panel.Padding = new Thickness (20);
}
Für verkürzte C # -Deklarationen steht auch eine Hilfsmethode zur Verfügung:
panel.Padding = new Thickness (Device.OnPlatform(10,20,0));
Diese Funktionalitäten sind auch direkt aus XAML-Code verfügbar:
<StackLayout x:Name="panel">
<StackLayout.Padding>
<OnPlatform x:TypeArguments="Thickness"
iOS="10"
Android="20" />
</StackLayout.Padding>
</StackLayout>
Stile verwenden
Wenn Sie mit XAML arbeiten, können Sie mit einem zentralisierten Style
eine Reihe von Stilansichten von einem Ort aus aktualisieren. Alle Sprach- und Plattformeinstellungen können auch in Ihre Styles integriert werden.
<Style TargetType="StackLayout">
<Setter Property="Padding">
<Setter.Value>
<OnPlatform x:TypeArguments="Thickness"
iOS="10"
Android="20"/>
</Setter.Value>
</Setter>
</Style>
Benutzerdefinierte Ansichten verwenden
Sie können benutzerdefinierte Ansichten erstellen, die dank dieser Anpassungswerkzeuge in Ihre Seite integriert werden können.
Wählen Sie File > New > File... > Forms > Forms ContentView (Xaml)
und erstellen Sie eine Ansicht für jedes bestimmte Layout: TabletHome.xaml
und PhoneHome.xaml
.
File > New > File... > Forms > Forms ContentPage
dann File > New > File... > Forms > Forms ContentPage
und erstellen Sie eine HomePage.cs
, die File > New > File... > Forms > Forms ContentPage
enthält:
using Xamarin.Forms;
public class HomePage : ContentPage
{
public HomePage()
{
if (Device.Idiom == TargetIdiom.Phone)
{
Content = new PhoneHome();
}
else
{
Content = new TabletHome();
}
}
}
Sie haben jetzt eine HomePage
, die eine andere Ansichtshierarchie für Phone
und Tablet
Idiome erstellt.