Xamarin.Forms
Ajustes visuales específicos de la plataforma.
Buscar..
Ajustes de idioma
Se pueden realizar ajustes específicos del idioma a partir del código C #, por ejemplo, para cambiar la orientación del diseño, ya sea que se muestre la vista o un teléfono o una tableta.
if (Device.Idiom == TargetIdiom.Phone)
{
this.panel.Orientation = StackOrientation.Vertical;
}
else
{
this.panel.Orientation = StackOrientation.Horizontal;
}
Esas funcionalidades también están disponibles directamente desde el código 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>
Ajustes de plataforma
Se pueden hacer ajustes para plataformas específicas desde el código C #, por ejemplo, para cambiar el relleno de todas las plataformas específicas.
if (Device.OS == TargetPlatform.iOS)
{
panel.Padding = new Thickness (10);
}
else
{
panel.Padding = new Thickness (20);
}
También está disponible un método auxiliar para declaraciones de C # acortadas:
panel.Padding = new Thickness (Device.OnPlatform(10,20,0));
Esas funcionalidades también están disponibles directamente desde el código XAML:
<StackLayout x:Name="panel">
<StackLayout.Padding>
<OnPlatform x:TypeArguments="Thickness"
iOS="10"
Android="20" />
</StackLayout.Padding>
</StackLayout>
Usando estilos
Al trabajar con XAML, el uso de un Style
centralizado le permite actualizar un conjunto de vistas con Style
desde un solo lugar. Todos los ajustes de idioma y plataforma también se pueden integrar a sus estilos.
<Style TargetType="StackLayout">
<Setter Property="Padding">
<Setter.Value>
<OnPlatform x:TypeArguments="Thickness"
iOS="10"
Android="20"/>
</Setter.Value>
</Setter>
</Style>
Usando vistas personalizadas
Puede crear vistas personalizadas que se pueden integrar en su página gracias a esas herramientas de ajuste.
Seleccione File > New > File... > Forms > Forms ContentView (Xaml)
y cree una vista para cada diseño específico: TabletHome.xaml
y PhoneHome.xaml
.
Luego seleccione File > New > File... > Forms > Forms ContentPage
HomePage.cs
contenido de File > New > File... > Forms > Forms ContentPage
y cree un HomePage.cs
que contenga:
using Xamarin.Forms;
public class HomePage : ContentPage
{
public HomePage()
{
if (Device.Idiom == TargetIdiom.Phone)
{
Content = new PhoneHome();
}
else
{
Content = new TabletHome();
}
}
}
Ahora tiene una página de HomePage
que crea una jerarquía de vista diferente para los idiomas de Phone
y Tablet
.