RadialGradientBrush 类派生自 GradientBrush 类,并绘制具有径向渐变的区域,该渐变沿圆混合两种或更多颜色。 GradientStop 对象用于指定渐变的颜色及其位置。 有关 GradientStop 对象的详细信息,请参阅 Xamarin.Forms 画笔:线性渐变。
RadialGradientBrush 类定义以下属性:
Center,类型为Point,表示径向渐变的圆中心点。 此属性的默认值为 (0.5,0.5)。Radius,类型为double,表示径向渐变的圆半径。 此属性的默认值为 0.5。
这些属性由 BindableProperty 对象提供支持,表示它们可以是数据绑定的目标,并可以设置样式。
RadialGradientBrush 类还有一个 IsEmpty 方法,即返回一个 bool 表示画笔是否已分配给任何 GradientStop 对象。
注意
还可以使用 radial-gradient() CSS 函数创建径向渐变。
创建 RadialGradientBrush
径向渐变画笔的渐变止点沿由圆圈定义的渐变轴定位。 渐变轴从圆中心向圆周辐射。 可通过画笔的 Center 和 Radius 属性更改圆的位置和大小。 圆定义渐变的终点。 因此,渐变停止点在 1.0 定义圆周的颜色。 渐变停止点在 0.0 定义圆中心的颜色。
如果要创建径向渐变,请创建 RadialGradientBrush 对象,并设置其 Center 和 Radius 属性。 然后,在 RadialGradientBrush.GradientStops 集合中添加两个或多个 GradientStop 对象,以便指定渐变的颜色及其位置。
下列 XAML 示例显示 RadialGradientBrush 被设置为 Frame 的 Background:
<Frame BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120">
<Frame.Background>
<!-- Center defaults to (0.5,0.5)
Radius defaults to (0.5) -->
<RadialGradientBrush>
<GradientStop Color="Red"
Offset="0.1" />
<GradientStop Color="DarkBlue"
Offset="1.0" />
</RadialGradientBrush>
</Frame.Background>
</Frame>
在此示例中,Frame 的背景由 RadialGradientBrush 绘制,它从红色内插到深蓝色。 径向渐变的中心位于 Frame 的中心:

下列 XAML 示例将径向渐变的中心移动到 Frame 的左上角:
<!-- Radius defaults to (0.5) -->
<RadialGradientBrush Center="0.0,0.0">
<GradientStop Color="Red"
Offset="0.1" />
<GradientStop Color="DarkBlue"
Offset="1.0" />
</RadialGradientBrush>
在此示例中,Frame 的背景由 RadialGradientBrush 绘制,它从红色内插到深蓝色。 径向渐变的中心位于 Frame 的左上方:

下列 XAML 示例将径向渐变的中心移动到 Frame 的右下角:
<!-- Radius defaults to (0.5) -->
<RadialGradientBrush Center="1.0,1.0">
<GradientStop Color="Red"
Offset="0.1" />
<GradientStop Color="DarkBlue"
Offset="1.0" />
</RadialGradientBrush>
在此示例中,Frame 的背景由 RadialGradientBrush 绘制,它从红色内插到深蓝色。 径向渐变的中心位于 Frame 的右下方:
