Aracılığıyla paylaş


Android'de VisualElement Yükseltmesi

Bu Android platformuna özgü, API 21 veya üzerini hedefleyen uygulamalardaki görsel öğelerin yükseltilmesini veya Z sırasını denetlemek için kullanılır. Görsel öğenin yükseltilmesi, daha yüksek Z değerlerine sahip görsel öğelerle çizim sırasını belirler ve daha düşük Z değerlerine sahip görsel öğeleri tıkar. Ekli özelliği bir boolean değere ayarlayarak VisualElement.Elevation XAML'de kullanılır:

<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, akıcı API kullanılarak C# dilinden 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 }
                    }
                }
            }
        };
    }
}

yöntemi, Button.On<Android> platforma özgü bu uygulamanın yalnızca Android'de çalışacağını belirtir. VisualElement.SetElevation yöntemi, ad alanında Xamarin.Forms.PlatformConfiguration.AndroidSpecific görsel öğesinin yükseltilmesini null atanabilir floatolarak ayarlamak için kullanılır. Ayrıca, VisualElement.GetElevation yöntemi bir görsel öğesinin yükseltme değerini almak için kullanılabilir.

Sonuç olarak, daha yüksek Z değerlerine sahip görsel öğelerin daha düşük Z değerlerine sahip görsel öğeleri tıkaması için görsel öğelerin yükseltilmesi denetlenebilir. Bu nedenle, bu örnekte ikinci Button , daha yüksek bir yükseltme değerine sahip olduğundan öğesinin BoxView üzerinde işlenir:

VisualElement yükseltme ekran görüntüsü