Xamarin.Forms Styly textu

Download Sample Stažení ukázky

Stylování textu v

Styly lze použít k úpravě vzhledu popisků, záznamů a editorů. Styly lze definovat jednou a používat v mnoha zobrazeních, ale styl lze použít pouze pro zobrazení jednoho typu. Styly lze předávat Key a použít selektivně pomocí konkrétní vlastnosti ovládacího prvku Style .

Built-In styly

Xamarin.Forms obsahuje několik Xamarin.Forms stylů pro běžné scénáře:

  • BodyStyle
  • CaptionStyle
  • ListItemDetailTextStyle
  • ListItemTextStyle
  • SubtitleStyle
  • TitleStyle

Chcete-li použít jeden z vestavěných stylů, použijte DynamicResource rozšíření značek k určení stylu:

<Label Text="I'm a Title" Style="{DynamicResource TitleStyle}"/>

V jazyce C# jsou předdefinované styly vybrány z Device.Styles :

label.Style = Device.Styles.TitleStyle;

Device Styles Example

Vlastní styly

Styly se skládají z vlastností setter a setter sestávají z vlastností a hodnot, na které se vlastnosti nastaví.

V jazyce C# by byl vlastní styl popisku s červeným textem o velikosti 30 definován následujícím způsobem:

var LabelStyle = new Style (typeof(Label)) {
    Setters = {
        new Setter {Property = Label.TextColorProperty, Value = Color.Red},
        new Setter {Property = Label.FontSizeProperty, Value = 30}
    }
};

var label = new Label { Text = "Check out my style.", Style = LabelStyle };

V jazyce XAML:

<ContentPage.Resources>
    <ResourceDictionary>
        <Style x:Key="LabelStyle" TargetType="Label">
            <Setter Property="TextColor" Value="Red"/>
            <Setter Property="FontSize" Value="30"/>
        </Style>
    </ResourceDictionary>
</ContentPage.Resources>

<ContentPage.Content>
    <StackLayout>
        <Label Text="Check out my style." Style="{StaticResource LabelStyle}" />
    </StackLayout>
</ContentPage.Content>

Všimněte si, že prostředky (včetně všech stylů) jsou definovány v rámci ContentPage.Resources , což je na stejné úrovni jako známý ContentPage.Content prvek.

Custom Styles Example

Aplikování stylů

Po vytvoření stylu lze použít pro jakékoli zobrazení odpovídající jeho TargetType .

V jazyce XAML jsou vlastní styly použity pro zobrazení poskytnutím jejich Style vlastnosti s StaticResource příponou označení odkazující na požadovaný styl:

<Label Text="Check out my style." Style="{StaticResource LabelStyle}" />

V jazyce C# lze styly použít buď přímo na zobrazení, nebo přidávat do a načteny ze stránky ResourceDictionary . Chcete-li přidat přímo:

var label = new Label { Text = "Check out my style.", Style = LabelStyle };

Pro přidání a načtení ze stránky ResourceDictionary :

this.Resources.Add ("LabelStyle", LabelStyle);
label.Style = (Style)Resources["LabelStyle"];

Předdefinované styly jsou aplikovány jinak, protože musí reagovat na nastavení usnadnění. Chcete-li použít předdefinované styly v jazyce XAML, DynamicResource je použito rozšíření značek:

<Label Text="I'm a Title" Style="{DynamicResource TitleStyle}"/>

V jazyce C# jsou předdefinované styly vybrány z Device.Styles :

label.Style = Device.Styles.TitleStyle;

Usnadnění

Předdefinované styly existují, aby bylo snazší respektovat předvolby přístupnosti. Při použití některého z vestavěných stylů budou velikosti písem automaticky zvyšovat, pokud uživatel nastaví své předvolby přístupnosti odpovídajícím způsobem.

Vezměte v úvahu následující příklad stejné stránky zobrazení, ve stylu s vestavěnými styly s povoleným a zakázaným nastavením usnadnění:

Zabezpečen

Device Styles with Accessibility Disabled

Umožněn

Device Styles with Accessibility Enabled

Aby bylo zajištěno usnadnění přístupu, ujistěte se, že předdefinované styly jsou používány jako základ pro všechny styly související s textem v rámci aplikace a zda používáte styly konzistentně. Další informace o rozšíření a práci se styly obecně naleznete v tématu styly .