Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Esse específico da plataforma Android é usado para habilitar uma sombra projetada em um ImageButton. Ele é consumido em XAML definindo a ImageButton.IsShadowEnabled propriedade associável como true, juntamente com várias propriedades associáveis opcionais adicionais que controlam a sombra projetada:
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
<StackLayout Margin="20">
<ImageButton ...
Source="XamarinLogo.png"
BackgroundColor="GhostWhite"
android:ImageButton.IsShadowEnabled="true"
android:ImageButton.ShadowColor="Gray"
android:ImageButton.ShadowRadius="12">
<android:ImageButton.ShadowOffset>
<Size>
<x:Arguments>
<x:Double>10</x:Double>
<x:Double>10</x:Double>
</x:Arguments>
</Size>
</android:ImageButton.ShadowOffset>
</ImageButton>
...
</StackLayout>
</ContentPage>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...
var imageButton = new Xamarin.Forms.ImageButton { Source = "XamarinLogo.png", BackgroundColor = Color.GhostWhite, ... };
imageButton.On<Android>()
.SetIsShadowEnabled(true)
.SetShadowColor(Color.Gray)
.SetShadowOffset(new Size(10, 10))
.SetShadowRadius(12);
Importante
Uma sombra projetada é desenhada como parte do plano de fundo, e o plano de ImageButton fundo só é desenhado se a BackgroundColor propriedade estiver definida. Portanto, uma sombra projetada não será desenhada se a ImageButton.BackgroundColor propriedade não estiver definida.
O ImageButton.On<Android> método especifica que esse específico da plataforma só será executado no Android. O ImageButton.SetIsShadowEnabled método, no Xamarin.Forms.PlatformConfiguration.AndroidSpecific namespace, é usado para controlar se uma sombra projetada está habilitada no ImageButton. 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 umSizevalor. OsSizevalores 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 doImageButton.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 GetIsShadowEnabledmétodos , GetShadowColor, GetShadowOffset, e GetShadowRadius .
O resultado é que uma sombra projetada pode ser ativada em um ImageButton:
