VisualElement-Erhöhung unter Android
Diese Plattform für Android wird verwendet, um die Rechteerweiterung oder Z-Reihenfolge von visuellen Elementen in Anwendungen zu steuern, die auf API 21 oder höher ausgerichtet sind. Die Höhe eines visuellen Elements bestimmt seine Zeichnungsreihenfolge, wobei visuelle Elemente mit höheren Z-Werten visuelle Elemente mit niedrigeren Z-Werten verdecken. Sie wird in XAML verwendet, indem die VisualElement.Elevation
angefügte Eigenschaft auf einen boolean
Wert festgelegt wird:
<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>
Alternativ kann es über C# mithilfe der Fluent-API verwendet werden:
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 }
}
}
}
};
}
}
Die Button.On<Android>
-Methode gibt an, dass diese plattformspezifische Nur unter Android ausgeführt wird. Die VisualElement.SetElevation
-Methode im Xamarin.Forms.PlatformConfiguration.AndroidSpecific
-Namespace wird verwendet, um die Höhe des visuellen Elements auf einen NULL-fähigen float
festzulegen. Darüber hinaus kann die VisualElement.GetElevation
-Methode verwendet werden, um den Höhenwert eines visuellen Elements abzurufen.
Das Ergebnis ist, dass die Erhöhung visueller Elemente gesteuert werden kann, sodass visuelle Elemente mit höheren Z-Werten visuelle Elemente mit niedrigeren Z-Werten verdecken. Daher wird in diesem Beispiel das zweite Button
über dem BoxView
gerendert, da er einen höheren Höhenwert aufweist: