GravatarImageSource
Um Gravatar (um “avatar reconhecido globalmente”) é uma imagem que pode ser usada em vários sites como seu avatar; ou seja, uma imagem que representa você. Por exemplo, um Gravatar pode identificar uma pessoas em uma postagem de fórum, em um comentário de blog e assim por diante. (Você pode registrar seu próprio Gravatar no site do Gravatar em http://www.gravatar.com/.) Se quiser exibir imagens ao lado dos nomes ou endereços de email das pessoas, poderá usar GravatarImageSource.
Sintaxe
Incluir o namespace XAML
Para usar o kit de ferramentas no XAML, o xmlns
a seguir precisa ser adicionado à sua página ou exibição:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Portanto, o seguinte:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
Seria modificado para incluir o xmlns
conforme o seguinte:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
Usar o GravatarImageSource
O exemplo a seguir mostra como usar GravatarImageSource
:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
<VerticalStackLayout>
<Image>
<Image.Source>
<toolkit:GravatarImageSource
CacheValidity="1"
CachingEnabled="True"
Email="youremail@here.com"
Image="MysteryPerson" />
</Image.Source>
</Image>
</VerticalStackLayout>
</ContentPage>
Este é o código C# equivalente:
using CommunityToolkit.Maui.ImageSources;
partial class MyPage : ContentPage
{
public MyPage()
{
Image myImage = new()
{
Source = new GravatarImageSource()
{
CacheValidity = TimeSpan.FromDays(1),
CachingEnabled = true,
Email = "youremail@here.com",
Image= DefaultImage.MysteryPerson
},
};
Content = myImage;
}
}
Propriedades
Propriedade | Type | Descrição |
---|---|---|
CacheValidity | TimeSpan |
A propriedade CacheValidity , do tipo TimeSpan , especifica por quanto tempo a imagem será armazenada localmente. O valor padrão dessa propriedade é 1 dia. |
CachingEnabled | bool |
A propriedade CachingEnabled , do tipo bool , define se o cache de imagem está habilitado. O valor padrão dessa propriedade é true . |
string? |
A propriedade Email , do tipo string? , especifica o endereço de email da conta Gravatar. Se não estiver definida, a imagem do Gravatar será renderizada. Se estiver definida e não for encontrada no Gravatar, a imagem da propriedade Image será renderizada. |
|
Imagem | DefaultImage |
A propriedade Image , do tipo DefaultImage é uma enumeração usada para especificar a imagem padrão se email não for encontrado no Gravatar. |
Essas propriedades são apoiadas por objetos BindableProperty
, o que significa que elas podem ser o destino de vinculações de dados e estilizadas.
Definir a validade do cache
A propriedade CacheValidity
é um TimeSpan
que especifica por quanto tempo a imagem será armazenada localmente.
O exemplo a seguir define a validade do cache de um GravatarImageSource
:
<Image>
<Image.Source>
<toolkit:GravatarImageSource CacheValidity="1" />
</Image.Source>
</Image>
Este é o código C# equivalente:
Image myImage = new()
{
Source = new GravatarImageSource()
{
CacheValidity = TimeSpan.FromDays(1),
},
};
Definir o cache habilitado
A propriedade CachingEnabled
é um bool
que define se o cache de imagem está habilitado.
O exemplo a seguir define o cache como habilitado para um GravatarImageSource
:
<Image>
<Image.Source>
<toolkit:GravatarImageSource CachingEnabled="True" />
</Image.Source>
</Image>
Este é o código C# equivalente:
Image myImage = new()
{
Source = new GravatarImageSource()
{
CachingEnabled = true,
},
};
Definir email
A propriedade Email
é um string
anulável. Se a propriedade for nula ou vazia, a imagem do Gravatar padrão será renderizada. Se o endereço de email não tiver nenhuma imagem do Gravatar correspondente, a imagem da propriedade Image
será renderizada.
O exemplo a seguir define um endereço de email que tem uma imagem do Gravatar correspondente:
<Image>
<Image.Source>
<toolkit:GravatarImageSource Email="dsiegel@avantipoint.com" />
</Image.Source>
</Image>
Este é o código C# equivalente:
Image myImage = new()
{
Source = new GravatarImageSource()
{
Email = "dsiegel@avantipoint.com",
},
};
O exemplo a seguir não define um endereço de email e, portanto, exibirá a imagem do Gravatar padrão.
<Image>
<Image.Source>
<toolkit:GravatarImageSource />
</Image.Source>
</Image>
Este é o código C# equivalente:
Image myImage = new()
{
Source = new GravatarImageSource(),
};
O exemplo a seguir define um endereço de email que não tem nenhuma imagem do Gravatar correspondente e, portanto, exibirá a imagem de Image
padrão.
<Image>
<Image.Source>
<toolkit:GravatarImageSource Email="notregistered@emailongravitar.com" />
</Image.Source>
</Image>
Este é o código C# equivalente:
Image myImage = new()
{
Source = new GravatarImageSource()
{
Email = "notregistered@emailongravitar.com",
},
};
Definir imagem padrão
A propriedade Image
é uma enumeração usada para especificar a imagem padrão se o endereço email
não tiver nenhuma imagem do Gravatar correspondente. As opções disponíveis são:
MysteryPerson
(padrão) – Um contorno simples no estilo de desenho animado de uma pessoa (não varia de acordo com o hash de email)FileNotFound
– Não carregue nenhuma imagem se nenhuma estiver associada ao hash de email, em vez disso, retorne uma resposta HTTP 404 (Arquivo não encontrado).Identicon
– Um padrão geométrica baseado em um hash de email.MonsterId
– Um “monstro” gerado com cores diferentes, rostos etc.Wavatar
– Rostos gerados com feições e planos de fundo diferentes.Retro
– Rostos incríveis gerados em pixel no estilo fliperama de 8 bits.Robohash
– Um robô gerado com cores diferentes, rostos etc.Blank
– Uma imagem PNG transparente.
O exemplo a seguir define a imagem padrão de um GravatarImageSource
:
<Image>
<Image.Source>
<toolkit:GravatarImageSource Email="notregistered@emailongravitar.com" Image="Retro" />
</Image.Source>
</Image>
Este é o código C# equivalente:
Image myImage = new()
{
Source = new GravatarImageSource()
{
Email = "notregistered@emailongravitar.com",
Image = DefaultImage.Retro
},
};
Define o tamanho da imagem
Por padrão, imagens GravatarImageSource
são apresentadas em 80px por 80px. Os tamanhos de imagem podem estar entre 1px e 2048px e são retirados de suas propriedades de tamanho de exibição pai. As imagens do Gravatar são quadradas e a maior das propriedades definidas será obtida.
O exemplo a seguir define o tamanho do controle de imagem e, portanto, o tamanho da imagem do Gravatar solicitada será de 73px.
<Image WidthRequest="72" HeightRequest="73">
<Image.Source>
<toolkit:GravatarImageSource Email="dsiegel@avantipoint.com" />
</Image.Source>
</Image>
Este é o código C# equivalente:
Image myImage = new()
{
Source = new GravatarImageSource()
{
Email = "dsiegel@avantipoint.com",
},
HeightRequest = 72,
HeightRequest = 73,
};
Exemplos
Encontre exemplos desse controle em ação no Aplicativo de exemplo do .NET MAUI Community Toolkit.
API
O código-fonte do GravatarImageSource
pode ser encontrado no repositório GitHub do .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit