GravatarImageSource
Gravatar(“全球公认头像”)是一种图像,可以在多个网站上用作头像,即代表你身份的图像。 例如,Gravatar 可以用于在论坛帖子、博客评论等中标识个人身份。 (你可以在 Gravatar 网站上注册自己的 Gravatar,网址为 http://www.gravatar.com/。)如果要在人员姓名或电子邮件地址旁边显示图像,则可以使用 GravatarImageSource。
语法
包括 XAML 命名空间
若要在 XAML 中使用工具包,需要将以下 xmlns
添加到页面或视图中:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
因此,以下内容:
<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>
将被修改为包括 xmlns
,如下所示:
<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>
使用 GravatarImageSource
下面的示例演示如何使用 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>
等效 C# 代码如下:
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;
}
}
属性
属性 | 类型 | 描述 |
---|---|---|
CacheValidity | TimeSpan |
类型为 TimeSpan 的 CacheValidity 属性指定图像在本地存储多长时间。 此属性的默认值为 1 天。 |
CachingEnabled | bool |
类型为 bool 的 CachingEnabled 属性定义是否启用图像缓存。 此属性的默认值为 true 。 |
电子邮件 | string? |
类型为 string? 的 Email 属性指定 gravatar 帐户电子邮件地址。 如果未设置,则呈现 Gravatar 图像。 如果已在 Gravatar 上设置但未找到,则呈现 Image 属性图像。 |
映像 | DefaultImage |
类型为 DefaultImage 的 Image 属性是一个枚举,用于在 Gravatar 上找不到 email 时指定默认图像。 |
这些属性由 BindableProperty
对象提供支持;也就是说,它们可以作为数据绑定的目标,并能进行样式设置。
设置缓存有效性
CacheValidity
属性是一种 TimeSpan
,用于指定图像将在本地存储多长时间。
以下示例设置 GravatarImageSource
的缓存有效性:
<Image>
<Image.Source>
<toolkit:GravatarImageSource CacheValidity="1" />
</Image.Source>
</Image>
等效 C# 代码如下:
Image myImage = new()
{
Source = new GravatarImageSource()
{
CacheValidity = TimeSpan.FromDays(1),
},
};
将缓存设置为已启用
CachingEnabled
属性是一个 bool
,用于定义是否启用图像缓存。
以下示例将 GravatarImageSource
的缓存设置为“已启用”:
<Image>
<Image.Source>
<toolkit:GravatarImageSource CachingEnabled="True" />
</Image.Source>
</Image>
等效 C# 代码如下:
Image myImage = new()
{
Source = new GravatarImageSource()
{
CachingEnabled = true,
},
};
设置电子邮箱
Email
属性是可为 null 的 string
。 如果该属性为 null 或为空,则会呈现默认 Gravatar 图像。 如果电子邮件地址没有匹配的 Gravatar 图像,则呈现 Image
属性图像。
以下示例设置了包含匹配 Gravatar 图像的电子邮件地址:
<Image>
<Image.Source>
<toolkit:GravatarImageSource Email="dsiegel@avantipoint.com" />
</Image.Source>
</Image>
等效 C# 代码如下:
Image myImage = new()
{
Source = new GravatarImageSource()
{
Email = "dsiegel@avantipoint.com",
},
};
以下示例未设置电子邮件地址,因此将显示默认 Gravatar 图像。
<Image>
<Image.Source>
<toolkit:GravatarImageSource />
</Image.Source>
</Image>
等效 C# 代码如下:
Image myImage = new()
{
Source = new GravatarImageSource(),
};
以下示例设置不包含匹配 Gravatar 图像的电子邮件地址,因此将显示默认 Image
图像。
<Image>
<Image.Source>
<toolkit:GravatarImageSource Email="notregistered@emailongravitar.com" />
</Image.Source>
</Image>
等效 C# 代码如下:
Image myImage = new()
{
Source = new GravatarImageSource()
{
Email = "notregistered@emailongravitar.com",
},
};
设置默认图像
Image
属性是一个枚举,用于在 email
地址没有匹配的 Gravatar 图像时指定默认图像。 可用选项包括:
MysteryPerson
(默认)- 一个简单的卡通风格人物剪影轮廓(不因电子邮件哈希而异)FileNotFound
- 如果没有与电子邮件哈希关联的图像,则不会加载任何图像,而是返回 HTTP 404(未找到文件)响应。Identicon
- 基于电子邮件哈希的几何图案。MonsterId
- 肤色和面孔等特征各不相同的生成的“怪物”。Wavatar
- 特征和背景各不相同的生成的面孔。Retro
- 可生成奇异的画面效果,8 位街机式的像素化面孔。Robohash
- 颜色、面孔等各不相同的生成的机器人。Blank
- 透明 PNG 图像。
以下示例设置了 GravatarImageSource
的默认图像:
<Image>
<Image.Source>
<toolkit:GravatarImageSource Email="notregistered@emailongravitar.com" Image="Retro" />
</Image.Source>
</Image>
等效 C# 代码如下:
Image myImage = new()
{
Source = new GravatarImageSource()
{
Email = "notregistered@emailongravitar.com",
Image = DefaultImage.Retro
},
};
设置图像大小
默认情况下,GravatarImageSource
图像以 80px x 80px 显示。 图像大小可以介于 1px 和 2048px 之间并且取自其父视图大小属性。 Gravatar 图像是正方形的,并且将采用定义的尺寸属性中的较大值。
以下示例设置了图像控件的大小,因此请求的 Gravatar 图像的大小将为 73px。
<Image WidthRequest="72" HeightRequest="73">
<Image.Source>
<toolkit:GravatarImageSource Email="dsiegel@avantipoint.com" />
</Image.Source>
</Image>
等效 C# 代码如下:
Image myImage = new()
{
Source = new GravatarImageSource()
{
Email = "dsiegel@avantipoint.com",
},
HeightRequest = 72,
HeightRequest = 73,
};
示例
可以在 .NET MAUI 社区工具包示例应用程序中查找此控件操作的示例。
API
可以在 .NET MAUI 社区工具包 GitHub 存储库查看GravatarImageSource
的源代码