Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Xamarin.Forms zawiera sześć stylów dynamicznych, znanych jako style urządzeń, w klasie Device.Styles.
Style urządzeń to:
Wszystkie sześć stylów można stosować tylko do Label wystąpień. Na przykład element Label wyświetlający treść akapitu może ustawić jego Style właściwość na BodyStyle.
W poniższym przykładzie kodu pokazano użycie stylów urządzenia na stronie XAML:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Styles.DeviceStylesPage" Title="Device" IconImageSource="xaml.png">
<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="myBodyStyle" TargetType="Label"
BaseResourceKey="BodyStyle">
<Setter Property="TextColor" Value="Accent" />
</Style>
</ResourceDictionary>
</ContentPage.Resources>
<ContentPage.Content>
<StackLayout Padding="0,20,0,0">
<Label Text="Title style"
Style="{DynamicResource TitleStyle}" />
<Label Text="Subtitle text style"
Style="{DynamicResource SubtitleStyle}" />
<Label Text="Body style"
Style="{DynamicResource BodyStyle}" />
<Label Text="Caption style"
Style="{DynamicResource CaptionStyle}" />
<Label Text="List item detail text style"
Style="{DynamicResource ListItemDetailTextStyle}" />
<Label Text="List item text style"
Style="{DynamicResource ListItemTextStyle}" />
<Label Text="No style" />
<Label Text="My body style"
Style="{StaticResource myBodyStyle}" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
Style urządzenia są powiązane z użyciem DynamicResource rozszerzenia znaczników. Dynamiczny charakter stylów można zobaczyć w systemie iOS, zmieniając ustawienia ułatwień dostępu dla rozmiaru tekstu. Wygląd stylów urządzenia różni się na każdej platformie, jak pokazano na poniższych zrzutach ekranu:

Style urządzeń można również uzyskać, ustawiając BaseResourceKey właściwość na nazwę klucza dla stylu urządzenia. W powyższym myBodyStyle przykładzie kodu dziedziczy i BodyStyle ustawia kolor tekstu wyróżniającego. Aby uzyskać więcej informacji na temat dziedziczenia stylu dynamicznego, zobacz Dziedziczenie stylu dynamicznego.
Poniższy przykład kodu przedstawia równoważną stronę w języku C#:
public class DeviceStylesPageCS : ContentPage
{
public DeviceStylesPageCS ()
{
var myBodyStyle = new Style (typeof(Label)) {
BaseResourceKey = Device.Styles.BodyStyleKey,
Setters = {
new Setter {
Property = Label.TextColorProperty,
Value = Color.Accent
}
}
};
Title = "Device";
IconImageSource = "csharp.png";
Padding = new Thickness (0, 20, 0, 0);
Content = new StackLayout {
Children = {
new Label { Text = "Title style", Style = Device.Styles.TitleStyle },
new Label { Text = "Subtitle style", Style = Device.Styles.SubtitleStyle },
new Label { Text = "Body style", Style = Device.Styles.BodyStyle },
new Label { Text = "Caption style", Style = Device.Styles.CaptionStyle },
new Label { Text = "List item detail text style",
Style = Device.Styles.ListItemDetailTextStyle },
new Label { Text = "List item text style", Style = Device.Styles.ListItemTextStyle },
new Label { Text = "No style" },
new Label { Text = "My body style", Style = myBodyStyle }
}
};
}
}
Właściwość Style każdego Label wystąpienia jest ustawiona na odpowiednią właściwość z Device.Styles klasy .
Ułatwienia dostępu
Style urządzeń przestrzegają preferencji ułatwień dostępu, więc rozmiary czcionek zmienią się w miarę zmiany preferencji ułatwień dostępu na każdej platformie. W związku z tym w celu obsługi tekstu dostępnego upewnij się, że style urządzenia są używane jako podstawa dla dowolnych stylów tekstu w aplikacji.
Na poniższych zrzutach ekranu przedstawiono style urządzeń na każdej platformie z najmniejszym dostępnym rozmiarem czcionki:
Na poniższych zrzutach ekranu przedstawiono style urządzeń na każdej platformie z największym dostępnym rozmiarem czcionki:

