Sombras projetadas do VisualElement no iOS
Este específico da plataforma iOS é usado para habilitar uma sombra projetada em um VisualElement
. Ele é consumido em XAML definindo a propriedade anexada VisualElement.IsShadowEnabled
como true
, juntamente com várias propriedades anexadas opcionais adicionais que controlam a sombra projetada:
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
<StackLayout Margin="20">
<BoxView ...
ios:VisualElement.IsShadowEnabled="true"
ios:VisualElement.ShadowColor="Purple"
ios:VisualElement.ShadowOpacity="0.7"
ios:VisualElement.ShadowRadius="12">
<ios:VisualElement.ShadowOffset>
<Size>
<x:Arguments>
<x:Double>10</x:Double>
<x:Double>10</x:Double>
</x:Arguments>
</Size>
</ios:VisualElement.ShadowOffset>
</BoxView>
...
</StackLayout>
</ContentPage>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
var boxView = new BoxView { Color = Color.Aqua, WidthRequest = 100, HeightRequest = 100 };
boxView.On<iOS>()
.SetIsShadowEnabled(true)
.SetShadowColor(Color.Purple)
.SetShadowOffset(new Size(10,10))
.SetShadowOpacity(0.7)
.SetShadowRadius(12);
O método VisualElement.On<iOS>
especifica que essa plataforma específica só será executada no iOS. O VisualElement.SetIsShadowEnabled
método, no Xamarin.Forms.PlatformConfiguration.iOSSpecific
namespace, é usado para controlar se uma sombra projetada está habilitada no VisualElement
. Além disso, os seguintes métodos podem ser invocados para controlar a sombra projetada:
SetShadowColor
– define a cor da sombra projetada. A cor padrão éColor.Default
.SetShadowOffset
– define o deslocamento da sombra projetada. O deslocamento altera a direção em que a sombra é projetada e é especificado como umSize
valor. OsSize
valores da estrutura são expressos em unidades independentes do dispositivo, sendo o primeiro valor a distância à esquerda (valor negativo) ou à direita (valor positivo) e o segundo valor a distância acima (valor negativo) ou abaixo (valor positivo). O valor padrão dessa propriedade é (0,0, 0,0), o que resulta na projeção de sombra em todos os lados doVisualElement
.SetShadowOpacity
– define a opacidade da sombra projetada, com o valor no intervalo de 0,0 (transparente) a 1,0 (opaco). O valor de opacidade padrão é 0,5.SetShadowRadius
– define o raio de desfoque usado para renderizar a sombra projetada. O valor padrão do raio é 10,0.
Observação
O estado de uma sombra projetada pode ser consultado chamando os GetIsShadowEnabled
métodos , GetShadowColor
, , GetShadowOffset
GetShadowOpacity
, e GetShadowRadius
.
O resultado é que uma sombra projetada pode ser ativada em um VisualElement
: