Szukaj…


Korekty idiomu

Korekty specyficzne dla idiomu można wykonać za pomocą kodu C #, na przykład w celu zmiany orientacji układu, niezależnie od tego, czy widok jest pokazywany, czy telefon, czy tablet.

if (Device.Idiom == TargetIdiom.Phone) 
{
    this.panel.Orientation = StackOrientation.Vertical;
} 
else 
{
    this.panel.Orientation = StackOrientation.Horizontal;
}

Te funkcje są również dostępne bezpośrednio z kodu 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>

Dostosowania platformy

Dostosowania można dokonać dla określonych platform z kodu C #, na przykład w celu zmiany wypełnienia dla wszystkich docelowych platform.

if (Device.OS == TargetPlatform.iOS) 
{
    panel.Padding = new Thickness (10);
}
else
{
    panel.Padding = new Thickness (20);
}

Dostępna jest również metoda pomocnicza dla skróconych deklaracji C #:

panel.Padding = new Thickness (Device.OnPlatform(10,20,0));

Te funkcje są również dostępne bezpośrednio z kodu XAML:

<StackLayout x:Name="panel">
  <StackLayout.Padding>
    <OnPlatform x:TypeArguments="Thickness"
      iOS="10"
      Android="20" />
  </StackLayout.Padding>
</StackLayout>

Używanie stylów

Podczas pracy z XAML użycie scentralizowanego Style pozwala zaktualizować zestaw stylizowanych widoków z jednego miejsca. Wszystkie dopasowania idiomu i platformy można również zintegrować z Twoimi stylami.

<Style TargetType="StackLayout">
  <Setter Property="Padding">
    <Setter.Value>
      <OnPlatform x:TypeArguments="Thickness" 
                  iOS="10" 
                  Android="20"/>
    </Setter.Value>
  </Setter>
</Style>

Korzystanie z niestandardowych widoków

Możesz tworzyć własne widoki, które można zintegrować ze swoją stroną dzięki tym narzędziom do dostosowywania.

Wybierz File > New > File... > Forms > Forms ContentView (Xaml) i utwórz widok dla każdego określonego układu: TabletHome.xaml i PhoneHome.xaml .

Następnie wybierz File > New > File... > Forms > Forms ContentPage i utwórz HomePage.cs który zawiera:

using Xamarin.Forms;

public class HomePage : ContentPage
{
    public HomePage()
    {
        if (Device.Idiom == TargetIdiom.Phone)
        {
            Content = new PhoneHome();
        }
        else
        {
            Content = new TabletHome();
        }

    }
}

Masz teraz stronę HomePage która tworzy inną hierarchię widoków dla idiomów Phone i Tablet .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow