c# - Boxview“线性渐变画笔”
问题描述
我怎样才能像下面的代码一样做同样的渐变效果xamarin forms
?
相同的效果WPF
:
<Rectangle Width="200" Height="100">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Red" Offset="0.25" />
<GradientStop Color="Blue" Offset="0.75" />
<GradientStop Color="LimeGreen" Offset="1.0" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
我的 Boxview 在xamarin forms
:
<BoxView WidthRequest="100" Grid.RowSpan="2">
</BoxView>
解决方案
有不止一种方法可以做到这一点。您可以使用 SkiaSharp 来实现结果。否则,您可以编写自定义渲染器来做同样的事情。
如果您希望使用该库,请参阅此处的Xamarin 文档。
SkiaSharp
如果您希望使用自定义渲染器来实现结果,请参考以下链接。
有一个很棒的自定义控件MagicGradients
可用于执行一些出色的渐变工作,如果您希望编写更少的代码,这将非常方便。
请参阅以下链接:
如果您是初学者,还有一个很棒的博客可以用来介绍如何使用该控件。
我希望这会有所帮助。
推荐阅读
- javascript - 基于 javascript 闭包的混淆
- css - CSS SVG将垂直中间与标签对齐
- azure-devops - 我在从 Git 标签触发构建时遇到问题
- python - boto 的 get_resource_type('s3').Object(bucket_name, key) 可以带通配符吗?
- javascript - 有没有办法在没有节点的电子中创建自定义菜单按钮?
- python - 为什么羽毛需要pyarrow?(或:如何在不降级到 pandas 24 的情况下加载羽毛数据?)
- python - 给定无向图中的边,在最大化图的度数的同时限制图的最大度数的算法是什么?
- mql4 - 如何解决挂单重复问题?
- c# - 在 Unity Engine 中将 2 个变量加在一起的逻辑错误
- batch-file - 在新的 Command 实例中运行时,Ping 失败并出现找不到主机错误