Xamarin.Forms
Regolazioni visive specifiche della piattaforma
Ricerca…
Regolazioni idioma
Le regolazioni specifiche di idioma possono essere eseguite dal codice C #, ad esempio per modificare l'orientamento del layout sia che venga visualizzata la vista sia che sia un telefono o un tablet.
if (Device.Idiom == TargetIdiom.Phone)
{
this.panel.Orientation = StackOrientation.Vertical;
}
else
{
this.panel.Orientation = StackOrientation.Horizontal;
}
Queste funzionalità sono anche disponibili direttamente dal codice XAML:
<StackLayout x:Name="panel">
<StackLayout.Orientation>
<OnIdiom x:TypeArguments="StackOrientation">
<OnIdiom.Phone>Vertical</OnIdiom.Phone>
<OnIdiom.Tablet>Horizontal</OnIdiom.Tablet>
</OnIdiom>
</StackLayout.Orientation>
</StackLayout>
Regolazioni della piattaforma
Le regolazioni possono essere fatte per piattaforme specifiche dal codice C #, ad esempio per cambiare padding per tutte le piattaforme target.
if (Device.OS == TargetPlatform.iOS)
{
panel.Padding = new Thickness (10);
}
else
{
panel.Padding = new Thickness (20);
}
È anche disponibile un metodo di supporto per dichiarazioni C # abbreviate:
panel.Padding = new Thickness (Device.OnPlatform(10,20,0));
Queste funzionalità sono anche disponibili direttamente dal codice XAML:
<StackLayout x:Name="panel">
<StackLayout.Padding>
<OnPlatform x:TypeArguments="Thickness"
iOS="10"
Android="20" />
</StackLayout.Padding>
</StackLayout>
Usando gli stili
Quando si lavora con XAML, l'uso di uno Style
centralizzato consente di aggiornare una serie di viste in stile da un'unica posizione. Tutte le regolazioni di idioma e piattaforma possono anche essere integrate ai tuoi stili.
<Style TargetType="StackLayout">
<Setter Property="Padding">
<Setter.Value>
<OnPlatform x:TypeArguments="Thickness"
iOS="10"
Android="20"/>
</Setter.Value>
</Setter>
</Style>
Utilizzo di viste personalizzate
Puoi creare visualizzazioni personalizzate che possono essere integrate nella tua pagina grazie a quegli strumenti di regolazione.
Seleziona File > New > File... > Forms > Forms ContentView (Xaml)
e crea una vista per ogni specifico layout: TabletHome.xaml
e PhoneHome.xaml
.
Quindi selezionare File > New > File... > Forms > Forms ContentPage
e creare una HomePage.cs
che contenga:
using Xamarin.Forms;
public class HomePage : ContentPage
{
public HomePage()
{
if (Device.Idiom == TargetIdiom.Phone)
{
Content = new PhoneHome();
}
else
{
Content = new TabletHome();
}
}
}
Ora hai una pagina HomePage
che crea una gerarchia di visualizzazione diversa per gli idiomi di Phone
e Tablet
.