Android 'de görselleştirme yükseltmesi

Örnek indir Örneği indirin

Bu Android platforma özgü, API 21 veya üstünü hedefleyen uygulamalarda bulunan görsel öğelerin yükseltmesini veya Z düzenini denetlemek için kullanılır. Görsel öğenin yükseltilmesi, daha yüksek Z değerleri olan görsel öğelerle, daha düşük Z değerli görsel öğelerle birlikte çizim sırasını belirler. VisualElement.Elevationİliştirilmiş özelliği bir değere AYARLAYARAK xaml 'de kullanılır boolean :

<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>

Alternatif olarak, Fluent API kullanarak C# üzerinden de kullanılabilir:

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 }
                    }
                }
            }
        };
    }
}

Button.On<Android>Yöntemi, platforma özgü bu platformun yalnızca Android 'de çalışacağını belirtir. VisualElement.SetElevationXamarin.Forms.PlatformConfiguration.AndroidSpecific Ad alanındaki yöntemi, görsel öğenin yükseltmesini null yapılabilir olarak ayarlamak için kullanılır float . Ayrıca, VisualElement.GetElevation yöntemi bir görsel öğenin yükseltme değerini almak için kullanılabilir.

Sonuç, görsel öğelerin yükseltilmesinin, daha yüksek Z değerleri olan görsel öğelerin, daha düşük Z değerleri olan occlude görsel öğeleri denetlenebilecek şekilde denetlenebilmesini sağlayacak. Bu nedenle, bu örnekte ikincisi ButtonBoxView daha yüksek bir yükseltme değeri içerdiğinden üzerinde işlenir:

Görselleştirme yükseltmesi ekran görüntüsü