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 .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow