Elevazione di VisualElement in Android
Questo specifico della piattaforma Android viene usato per controllare l'elevazione, o l'ordine Z, degli elementi visivi nelle applicazioni destinate all'API 21 o successiva. L'elevazione di un elemento visivo determina l'ordine di disegno, con elementi visivi con valori Z superiori che occludare gli elementi visivi con valori Z inferiori. Viene utilizzato in XAML impostando la VisualElement.Elevation
proprietà associata su un boolean
valore:
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
Title="Elevation">
<StackLayout>
<Grid>
<Button Text="Button Beneath BoxView" />
<BoxView Color="Red" Opacity="0.2" HeightRequest="50" />
</Grid>
<Grid Margin="0,20,0,0">
<Button Text="Button Above BoxView - Click Me" android:VisualElement.Elevation="10"/>
<BoxView Color="Red" Opacity="0.2" HeightRequest="50" />
</Grid>
</StackLayout>
</ContentPage>
In alternativa, può essere usato da C# usando l'API Fluent:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...
public class AndroidElevationPageCS : ContentPage
{
public AndroidElevationPageCS()
{
...
var aboveButton = new Button { Text = "Button Above BoxView - Click Me" };
aboveButton.On<Android>().SetElevation(10);
Content = new StackLayout
{
Children =
{
new Grid
{
Children =
{
new Button { Text = "Button Beneath BoxView" },
new BoxView { Color = Color.Red, Opacity = 0.2, HeightRequest = 50 }
}
},
new Grid
{
Margin = new Thickness(0,20,0,0),
Children =
{
aboveButton,
new BoxView { Color = Color.Red, Opacity = 0.2, HeightRequest = 50 }
}
}
}
};
}
}
Il Button.On<Android>
metodo specifica che questa specifica della piattaforma verrà eseguita solo in Android. Il VisualElement.SetElevation
metodo , nello spazio dei Xamarin.Forms.PlatformConfiguration.AndroidSpecific
nomi , viene usato per impostare l'elevazione dell'elemento visivo su un valore nullable float
. Inoltre, il VisualElement.GetElevation
metodo può essere usato per recuperare il valore di elevazione di un elemento visivo.
Il risultato è che l'elevazione degli elementi visivi può essere controllata in modo che gli elementi visivi con valori Z più elevati occudano gli elementi visivi con valori Z inferiori. Di conseguenza, in questo esempio viene eseguito il rendering del secondo Button
sopra perché BoxView
ha un valore di elevazione superiore: